第一步:生成密钥对

在本地生成密钥对

打开终端,输入指令,指定用rsa算法生成4096位长度的密钥,密钥对文件名为id_rsa_custom_name。

ssh-keygen -t rsa -b 4096 -f /Users/admin/.ssh/id_rsa_custom_name

或者在服务器后台侧边栏生成,保存好pem私钥文件,一般放到.ssh目录下。

  

第二步:绑定公钥

如果是后台生成的,自动绑定。如果是本地终端生成的,手动添加。添加方式:

先在终端分别输入:cd .ssh -> cat id_rsa_custom_name.pub(pub是公钥),复制后绑定。

第三步:修改服务器上的配置文件:允许ssh登录

1. 登录服务器,输入sudo vim /etc/ssh/sshd_config,查看这两行是否如下。如果注释了去掉#(输入i编辑,esc退出编辑,:wq保存并退出),保存后重启ssh服务:sudo systemctl restart sshd。

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

第四步:修改服务器上的公钥文件:添加公钥

1. 输入sudo vim ~/.ssh/authorized_keys,将上面复制的公钥添加进去,保存后重启ssh服务:sudo systemctl restart sshd。

第五步:修改本地ssh配置文件,/Users/admin/.ssh/config,将远程服务器信息和私钥路径添加进入。格式如下

Host 远程主机别名(自定义)
    HostName 远程主机ip地址或域名
    User 自定义用户名
    IdentityFile /Users/admin/.ssh/id_custom_name //没有pub

第六步:下载vscode的Remote - SSH插件。点击左下角双箭头,打开链接选项。

常见报错:

1. 远程服务器ssh配置文件有语法错误,输入sudo sshd -t查看。如果有语法错误,客户端连接时会被直接拒绝。

sudo systemctl restart sshd
Job for sshd.service failed because the control process exited with error code.

2. 其他错误基本是公钥没有绑定到后台、没有添加到authorized_keys的原因。

Could not establish connection to "hostname": Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐