一、生成RSA密钥对
在哪端生成都行
Windows
打开cmd或MingW进入目录%USERPROFILE%/.ssh/
Linux
打开Bash进入目录~/.ssh/
输入命令生成密钥对
ssh-keygen
一路回车创建默认空密码的秘钥对,获得2个文件
id_rsa
私钥文件,放在本地id_rsa.pub
公钥文件,放在远程服务器
二、部署公钥到远程服务器
-
上传公钥
- 方法1
手动上传公钥文件id_rsa.pub
到远程服务器的~/.ssh/
目录,并执行命令添加至authorized_keys
文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
然后删除服务器上的
id_rsa.pub
文件- 方法2(Linux/MingW)
进入.ssh
目录,执行命令
ssh-copy-id username@ip
该命令会上传
id_rsa.pub
公钥文件,并自动添加至authorized_keys
文件中 - 方法1
- 修改文件权限
sudo chmod 600 ~/.ssh/authorized_keys
sudo chmod 700 ~/.ssh
- 修改服务器ssh服务配置
打开配置文件
sudo vim /etc/ssh/sshd_config
在文件中打开或添加以下开关
RSAAuthentication yes
PubkeyAuthentication yes
保存文件退出,然后重启sshd
sudo systemctl restart sshd.service
三、修改VSCode配置
打开VSCode-Remote SSH插件的相关SSH配置
Host local-linuxhost
HostName linuxhost
User root
ForwardAgent yes
在底部添加私钥文件位置IdentityFile
Host local-linuxhost
HostName linuxhost
User root
ForwardAgent yes
IdentityFile D:akumasign.sshid_rsa
如此VSCode即可免密连接服务器SSH
Comments NOTHING