vs 免密登录远端服务器(mac)

2,057 阅读1分钟

1. 打开服务器端连接

  • root登录云开发机,
  • vim /etc/ssh/sshd_config
AllowAgentForwarding yes #vscode使用TcpForwarding模式,需要把这两项配置打开
AllowTcpForwarding yes #vscode使用TcpForwarding模式,需要把这两项配置打开
RSAAuthentication yes #打开RSA签名认证模式
PubkeyAuthentication yes #打开公钥认证模式
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys 
#设置默认的公钥保存文件,设置的值是.ssh/authorized_keys,设置后实际读取的文件为~/.ssh/authorized_keys
  • 重启sshd服: sudo service sshd restart

2. 配置密钥

2.1 生成密钥如果本地是mac环境,在命令行中执行ssh-keygen -t rsa -b 4096,默认存放在~/.ssh/id_rsa(私钥),~/.ssh/id_rsa.pub(公钥)两个文件下面

2.2 添加公钥到云端开发机 在PC端:cat ~/.ssh/id_rsa.pub

在云开发机端:echo $YOUR_PUB_KEY >> ~/.ssh/authorized_keys

没有~/.ssh/authorized_keys就新建;添加到开发机对应的账户下。

3. 配置config

在本地机器上 vim ~/.ssh/config

Host 18.4.7.122
    HostName 18.4.7.122
    #登录UserName
    User username
    Port 22
    #指定私钥文件为刚刚生成的~/.ssh/id_rsa
    IdentityFile ~/.ssh/id_rsa

在zsh下 ssh $user@$host 测试下配置是否正确。

4. 配置vs

  • 安装插件Remote Development
  • F1 输入Remote-SSH
  • 然后可以打开代码和终端了。 在vs左下角是连接的host, control +~快捷键打开终端。