背景
每次打开VScode链接远程服务器时都卡卡一顿密码输入,把ssh的公钥传到服务器上,就可以免密登陆服务器.
很多博客从生成公钥开始写起,上传公钥时使用命令上传:
// 执行
// 使用你自己的服务器IP与登录账户
$USER_AT_HOST="服务器账户名@服务器IP"
// PUBKEYPATH是你公钥的路径
$PUBKEYPATH="$HOME/.ssh/id_rsa.pub"
$pubKey=(Get-Content "$PUBKEYPATH" | Out-String); ssh "$USER_AT_HOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && echo '${pubKey}' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
pubKey=(Get-Content "$PUBKEYPATH" | Out-String)
应该是将公钥内容表示为pubKey;ssh "$USER_AT_HOST"
从本地的cmd连接到服务器;mkdir -p ~/.ssh && chmod 700 ~/.ssh
在服务器的home目录下创建.ssh文件夹,并且修改权限;echo '${pubKey}' >> ~/.ssh/authorized_keys
这句的意思应该是把公钥写进authorized_keys
;chmod 600 ~/.ssh/authorized_keys
最后再修改文件的权限。
anyway,这个我们用不着。
1. 找到公钥所在位置
由于我把本地git
仓库链接到github
时已经产生了本地的公钥和私钥,所以这里只要找到公钥位置即可。
公钥存放在当前用户文件夹下的.ssh
文件夹下,后缀为.pub
2. 把公钥复制到服务器上的.ssh/authorized_keys文件中
在所连接的服务器下,有.ssh
文件夹,打开其中的authorized_keys
文件,将公钥复制进去,不要忘记修改公钥结尾的邮箱地址。