ssh学习随笔记录

2022-08-11 20:00:55 浏览数 (1)

SSH登录服务器免登录

  1. 本地创建公私匙对(个人觉得新建一个专用的匙对比较好):
代码语言:javascript复制
ssh-keygen -t rsa -C "github actions"
  1. 上传公匙到服务器
代码语言:javascript复制
ssh-copy-id -i [公钥文件] user@host 
# user是你的ssh的用户,host是服务器地址,这时候还要输入密码。
# 例子:ssh-copy-id -i id_rsa.pub root@111.111.111.111

这个时候会报错:

Windows ssh-copy-id : 无法将“ssh-copy-id”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

解决方法:

问题:

ssh-copy-id : 无法将“ssh-copy-id”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

解决办法

在终端先执行以下内容:

代码语言:javascript复制
function ssh-copy-id([string]$userAtMachine, $args){   
    $publicKey = "$ENV:USERPROFILE"   "/.ssh/id_rsa.pub"
    if (!(Test-Path "$publicKey")){
        Write-Error "ERROR: failed to open ID file '$publicKey': No such file"            
    }
    else {
        & cat "$publicKey" | ssh $args $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"      
    }
}

再执行ssh-copy-id username@ip即可。

后面使用cmd登录 每次都要输入ip地址很麻烦 配置下:

在.ssh目录下创建一个config文件, 写入

代码语言:javascript复制
Host alias-name    # 别名,这里举例为 alias-name
HostName 111.111.111.111   # 要登录服务器域名或IP
Port 22                    # 要登录服务器的端口   
User root                  # 要登录服务器的用户名

设置成功后就可以直接使用ssh alias-name登录服务器了!

使用ssh 端口转发远程服务ip

代码语言:javascript复制
ssh -L 27017:127.0.0.1:27017 blog2

使用场景就是我们远端服务器blog 的mongoDB 的访问端口是27017 而且设置了只有内网可以访问

我们需要本地使用图形化工具(robo3T)进行访问,就可以使用ssh -L 来端口转发

就可以本机连接并访问远端blog的mongodb啦

参考:https://www.csdn.net/tags/Mtjagg0sMzczNjEtYmxvZwO0O0OO0O0O.html

0 人点赞