以公私钥方式登录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提供的公私钥登录流程和算法解释具有一定参考价值。
➡️