SSH登录服务器免登录
- 本地创建公私匙对(个人觉得新建一个专用的匙对比较好):
ssh-keygen -t rsa -C "github actions"
- 上传公匙到服务器
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