实现Windows VScode免密登录服务器(Linux免密登录服务器同理)
首先,先在 Windows 的 powershell 里面输入以下命令生成秘钥
ssh-keygen
接下来根据提示为私钥添加密码,一般情况可以直接 Enter 两次跳过,如若情况特殊可自行设置密码
生成的秘钥分为公钥和私钥两种,接下来需要将刚才生成的公钥 id_rsa.pub 写入到服务器的 authorized_keys 中
ssh-copy-id -i ./.ssh/id_rsa.pub username@IP
若在Windows CMD 中有报错无法识别 ssh-copy-id
命令,则可使用以下 1 或 2 两种方法解决:
- 在power shell中输入以下内容,然后再重新输入以上命令
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)在Git Bash中运行
使用私钥登陆到主机
ssh username@IP -p 端口号 -i id_rsa
至此,就可以在终端使用ssh免密登录服务器了
若需要使用VScode进行远程连接,
则需要在VScode上安装remote SSH的相关插件
在Windows中的.ssh文件下编辑congfig文件(用vscode打开),格式如下:
Host 255.255.255.255 # 改为你主机的IP
HostName 255.255.255.255 # 任意,只是用来区别其他服务器
User username # 服务器登录的用户名
Port 22 # 一般不用改,如果知道服务器用的其他端口就改改
IdentityFile "C:\Users\username\.ssh\id_rsa" # 把这个路径替换为自己存放id_rsa的路径
#记得要Ctrl+S保存!别改完就跑了
编辑完成后关闭重开 VScode 就可以在左侧的 remote SSH 插件中找到刚才添加的服务器了,点击进入即可免密登录。