以公私钥方式登录SSH Server

💡 原文中文,约10500字,阅读约需25分钟。
📝

内容提要

Linux SSH客户端使用时,应注意私钥权限最小化,可以通过HostKeyAlgorithms参数指定签名算法,PubkeyAcceptedKeyTypes参数指定公钥算法,以模拟新旧版本之间的兼容性,解决公私钥登录失败的问题,参数可添加到~/.ssh/config中。

🎯

关键要点

  • 公私钥登录SSH时应注意私钥权限最小化。
  • 使用HostKeyAlgorithms参数指定签名算法,PubkeyAcceptedKeyTypes参数指定公钥算法。
  • Ubuntu 22上只允许公私钥方式登录SSH,避免暴力猜测密码。
  • ssh-keygen生成的公钥和私钥格式需兼容旧版客户端。
  • sshd_config中需设置Protocol为2,避免使用脆弱的1。
  • 在目标SSH Server上配置authorized_keys以允许公钥登录。
  • WinSCP和PuTTY需要使用特定格式的私钥,需转换为.ppk格式。
  • SecureCRT与新版OpenSSH存在兼容性问题,需调整配置。
  • Linux SSH Client在未配置PubkeyAcceptedAlgorithms时仍可成功登录。
  • 使用ssh命令时可通过-o参数指定签名算法以确保兼容性。
  • ChatGPT提供的公私钥登录流程和算法解释具有一定参考价值。
➡️

继续阅读