我如何列出我的SSH服务器支持的MAC,密码和KexAuthority?

我如何确定我的SSH服务器支持的MAC,密码,密钥长度和KexAuthority?

我需要为外部安全审计创build一个列表。 我在找类似于openssl s_client -connect example.com:443 -showcerts 。 从我的研究中, ssh使用man sshd_config列出的默认密码。 不过,我需要一个解决scheme,我可以在脚本man sshd_config不会列出有关密钥长度的信息 。 我需要在这里纠正自己:你可以在sshd_config指定ServerKeyBits

我猜ssh -vv localhost &> ssh_connection_specs.out返回我需要的信息,但我不知道列出的密码是支持客户端或服务器的密码。 另外我不确定如何在脚本中运行这个非交互式。

有一个方便的方法来获得SSH连接信息?

你错过了几个问题:

  • 你的openssh版本是什么? 它可以在版本上有所不同。
  • ServerKeyBits是协议版本1的选项,您希望禁用它!

受支持的密码,MAC和KexAlgorithms总是可用的手册,这与密钥长度没有任何共同之处。

启用芯片,MAC和KexAlgorithms是提供使用连接,你指出。 但是也可以通过其他方式获得,例如使用sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)" sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"

要获得服务器密钥的密钥长度,可以使用ssh-keygen: ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

但是您可能还需要在密钥交换过程中提供和使用的模子大小,但它确实取决于密钥交换方法,但是它也应该可以从debugging输出ssh -vvv host读取。