如果我们从 sshd_config 文件中删除所有 ssh 密码,它是否允许通过当前系统的所有可用密码建立 ssh 连接?或者是否有一个特定的集合允许?如果有特定的集合,那么默认的 ssh 密码集是如何以及是什么。如果它开始允许所有可用的 ssh 密码,那么我可以假设列表与“ssh -Q cipher”的输出相同吗?
答案1
不。
- 如果您未
Ciphers
在 中指定sshd_config
,客户端将使用允许的默认密码列表。手册页对此进行了说明。在 Ubnutu 16.04
默认值为:
[email protected], aes128-ctr,aes192-ctr,aes256-ctr, [email protected],[email protected]
- 如果您指定某些集合,例如
Ciphers aes128-ctr
,则只有该密码才会用于连接。
生成的列表ssh -Q cipher
将显示所有受支持的密码的列表,但并非所有密码都已启用,因为其中一些仅由于遗留原因而存在。
答案2
是,如果没有Ciphers
指定sshd_config
限制可以使用的密码sshd
将使用所有受支持的、非弃用的密码。
在正常的软件包分发中(您没有自己修改和构建 openssh 软件包),ssh
和支持的密码sshd
将是相同的,因此ssh -Q cipher
将列出支持的sshd
密码(它们应该与 中列出的密码相同man sshd_config
)。
请注意,ssh -Q
查询客户端支持的内容;它不会列出某些客户端支持的密码偏僻的机器的sshd
。它也不会识别出这些密码中的哪一个是已弃用因此本地 默认不使用。给定安装的默认列表可在 ;部分sshd
中找到(对于 Ubuntu 16.04):Ciphers
man 5 sshd_config
[email protected],
aes128-ctr,aes192-ctr,aes256-ctr,
[email protected],[email protected]