一、生成RSA密钥对

在哪端生成都行

  • Windows 打开cmd或MingW进入目录 %USERPROFILE%/.ssh/
  • Linux 打开Bash进入目录 ~/.ssh/

输入命令生成密钥对

ssh-keygen

一路回车创建默认空密码的秘钥对,获得2个文件

  • id_rsa 私钥文件,放在本地
  • id_rsa.pub 公钥文件,放在远程服务器

二、部署公钥到远程服务器

  1. 上传公钥

    • 方法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文件中

  2. 修改文件权限
sudo chmod 600 ~/.ssh/authorized_keys
sudo chmod 700 ~/.ssh
  1. 修改服务器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

最后更新于 2023-07-15