问题背景
为了保障服务器的安全, 最近公司的服务器改为使用密钥登录, 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 【Linux|[Linux] 生成 PEM 密钥对实现服务器的免密登录】如果服务器上已经存在
~/.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
, 然后就可以使用该文件免密登录服务器了推荐阅读
- Linux|Linux命令pwd的自我实现
- Linux|centos7 安装 mysql5.7走过的坑
- linux|zookeeper-3.4.14 出现 Client port found: 2181. Client address: localhost. 的解决办法
- 实用经验|【mysql】解决MySQL GPG密钥过期问题
- java|Spring框架漏洞总结
- linux远程开发|linux远程开发——(IPC通信)共享内存的使用
- linux远程开发|linux远程开发——信号的使用(信号绑定和发送)
- linux远程开发|linux远程开发——使用vs2019远程连接linux
- linux|Asahi Linux 初版发布,面向所有用户开放下载