使用 OpenSSH 服务器 ( sshd
) 和客户端 ( ssh
) 时,所有默认/程序首选密码、哈希等(与安全相关)及其默认选项(例如密钥长度)是什么?
那么,对称密钥、MAC、密钥交换等的默认值是什么?
使用 OpenSSH 服务器 ( sshd
) 和客户端 ( ssh
) 时,所有默认/程序首选密码、哈希等(与安全相关)及其默认选项(例如密钥长度)是什么?
那么,对称密钥、MAC、密钥交换等的默认值是什么?
默认算法(即客户端和服务器在选择时更喜欢使用的算法)取决于客户端和服务器的实现,以及它们是如何编译和配置的。因此,它可能取决于软件供应商、软件版本、操作系统分布和系统管理员的选择。
在 Ubuntu 12.10 上,man ssh_config
表示默认的加密顺序是:
aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
aes256-cbc,arcfour
MAC(完整性)的默认顺序是:
hmac-md5,hmac-sha1,umac-64@openssh.com,
hmac-ripemd160,hmac-sha1-96,hmac-md5-96,
hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,
hmac-sha2-512-96
密钥交换算法将遵循以下优先顺序:
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
diffie-hellman-group-exchange-sha256,
diffie-hellman-group-exchange-sha1,
diffie-hellman-group14-sha1,
diffie-hellman-group1-sha1
当然,偏好是可以协商的。只有当客户端和服务器都支持它(特别是 ECDH 密钥交换支持是相当新的)并且客户端和服务器都有自己的发言权(如果他们没有完全相同的偏好)时,才会选择算法。
理论上是可行的:连接到随机 IP 地址,如果 SSH 服务器响应,则计算出其首选的密码和 MAC 列表(通过多次连接,限制客户端宣布的选择列表)。OpenSSH 进行了使用情况调查,但并不彻底(他们只是想要服务器“横幅”)。
你看过说明书吗?“默认”的快速 Ctrl-F 显示了您正在寻找的许多答案: