1. 生成秘钥

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
找一台linux服务器输入以下命令即可生成秘钥 ssh-keygen -t rsa 生成后默认会在 /root/.ssh文件夹下生成秘钥文件 id_rsa(私钥文件) id_rsa.pub(公钥文件)

2. 转化私钥文件为rsa格式(因为生成的默认是open格式的,需要转化为rsa格式)

  • 01
  • 02
  • 03
  • 04
  • 05
ssh-keygen -p -m PEM -f /root/.ssh/id_rsa 我一般默认格式回车几次 这样就修改为正确的格式可供使用

3. 对公钥文件加权限

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
将公钥id_rsa.pub(公钥文件)的内容写入到.ssh同目录下的authorized_keys文件 cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys cd /root/.ssh chmod 600 authorized_keys

4. 修改ssh连接配置文件并重新加载ssh验证配置

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
vi /etc/ssh/sshd_config 修改文件中配置 #开启RSA验证 RSAAuthentication yes #是否使用公钥验证 PubkeyAuthentication yes #公钥的保存位置 AuthorizedKeysFile .ssh/authorized_keys #禁止使用密码验证登录 PasswordAuthentication no 修改完保存 重启验证服务 systemctl restart sshd

5. 测试验证

使用连接终端,使用之前生成的私钥,进行测试
我使用的是finalsheel连接的,能保存私钥
连接测试成功
一开始没有进行 ssh-keygen -p -m PEM -f /root/.ssh/id_rsa转换,一直登录不上,加密后才正常使用

6. 如果想使用已存在秘钥

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
root用户使用这条命令看看家目录有没有(.ssh文件夹),cd .ssh,如果存在就会进入这个文件夹,不存在就(makedir .ssh) 修改.ssh这个文件夹权限(chmod 700 .ssh) 查看.ssh文件夹下是否有这个文件(authorized_keys),没有就(vim authorized_keys,然后保存退出) 修改这个文件权限(chmod 700 authorized_keys) 把自己的秘钥放进去 然后重复第四步