问题背景
为了保障服务器的安全, 最近公司的服务器改为使用密钥登录, vscode 已经设置的免密登录不受影响(设置参考这篇博客), 但是在设置 FinalShell 的密钥登录时遇到如下报错
提示中已经给出解决方法, 就是需要使用 PEM 密钥对, 下面记录一下每步的操作
解决方法
1. 在远程服务器生成 PEM 密钥对
cd ~/.ssh
ssh-keygen -m PEM -t rsa -C "注释"
生成时的密码可以设置为空, "注释"的内容可以根据自己的需要进行修改, 为了不影响之前的密钥文件, 这里将密钥文件名称设为 id_rsa_pem, 则然后会得到两个文件, id_rsa_pem 和 id_rsa_pem.pub
2. 将公钥内容加入 authorized_keys
如果服务器上已经存在 ~/.ssh/authorized_keys 文件, 将 id_rsa_pem.pub 中的内容拷贝到 ~/.ssh/authorized_keys 文件中即可. 如果不存在, 需要执行以下代码
cd ~/.ssh
cat id_rsa_pem.pub >> authorized_keys
chmod 600 authorized_keys
3. 将私钥拷贝到本地电脑
将服务器的 ~/.ssh/id_rsa_pem 文件拷到到本地电脑, 并将该文件的权限设为 600, 然后就可以使用该文件免密登录服务器了
版权声明:本文为weixin_42902669原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。