VSCode设置SSH免密登录
引言
2025年05月13日20:21:14
原来一直用的PyCharn来完成代码在远程服务器上的运行,但是PyCharm时不时同步代码会有问题。因此,尝试用VSCode来完成代码SSH远程运行。由于VSCode每次进行SSH连接的时候都要手动输入密码,为了解决这个问题在本机上设置SSH密钥来进行免密登录。
本机 Macbook Pro
服务器 Ubuntu20.04
打开Mac的终端Terminal,输入:
cd ~/.ssh
ls -al
可以看见输出,包含你已有的私钥和公钥:
id_rsa
id_rsa.pub
known_hosts
config
你可以用已有的私钥,然后把公钥.pub结尾的文件配置到服务器中就行。下面我们重新创建一个全新的SSH私钥:
ssh-keygen -t rsa -b 4096 -C "yida@macbook" -f ~/.ssh/id_rsa_remote_ubuntu
解释
- -t rsa: 使用 RSA 加密算法
- -b 4096: 密钥长度为 4096 位(更安全)
- -C: 注释信息,便于识别
- -f: 指定密钥文件名(避免覆盖已有密钥)
一直按回车即可!不用输入密码。
执行完后,会生成两个文件:
~/.ssh/id_rsa_remote_ubuntu(私钥)
~/.ssh/id_rsa_remote_ubuntu.pub(公钥)
查看公钥,并复制:
# 查看文件
ls -al
# 输出公钥内容
cat id_rsa_remote_ubuntu.pub
# 复制下面内容
ssh-rsa AAAAB3NzaC1yc2EAAssasQCsTslpupZrQqpr1MGbLRysc6g2dO3wDWZiewCnxFdRY15XlfOsD7Y5qkO1fOIFaT4XIQUAz0VsaHDgHZmUQVd14xBtHKliqhNwAynxdgv15lPdWefeqKrYzaGLLXK/ICx6h5xn3uOamyLJaKGEn/ZWWRXtCU2Oqo/BsNK5u5bb1wpgLO+lOSwfYod52VteCwParS0I0Mca3ILeefp4EWypTQRmki0EsBS6pO4k3rlT1Y3yF0ssRp9VXA2GUCJLU1GkdhHxF+fadx5DzJnOVwFdRdxOn5HCNjIgYeBECkwEStcijwAMxHjc5Jtse8JF4kHVismuZWTDt/MhMosJB3JrbbOu+3PaPVqmPQ== yida@macbook
用命令行登录你的远程服务器
拷贝公钥后,在远程 Ubuntu 上执行:
mkdir -p ~/.ssh
vim ~/.ssh/authorized_keys
# 把你复制的公钥放到authorized_keys里面
# 保存退出
# 查看是否复制成功,能输出你的公钥就OK了。
cat ~/.ssh/authorized_keys
然后,设置权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
切换到本机在VSCode的~/.ssh/config 中添加配置项,就是告诉机器远程连接的时候用我的私钥去和服务器的公钥匹配,实现免密登录
# 打开SSH配置文件
vim ~/.ssh/config
# 编辑已有的ssh连接信息
Host ubuntu@4090HostName 222.xxx.xxx.xxxUser ps123Port 123# 新增链接到私钥IdentityFile ~/.ssh/id_rsa_remote_ubuntu
配置完成,即可通过VSCode免密登录SSH服务器!