Linux

如何列出我的 ssh 伺服器支持的 MAC、密碼和 KexAlogrithms?

  • March 12, 2021

如何確定我的 ssh 伺服器支持的 MAC、密碼、密鑰長度和 KexAlogrithms?

我需要為外部安全審計創建一個列表。我正在尋找類似的東西openssl s_client -connect example.com:443 -showcerts。根據我的研究,ssh使用中列出的預設密碼man sshd_config。但是,我需要一個可以在腳本中使用的解決方案,並且man sshd_config不列出有關 key length的資訊。我需要在這裡更正自己:您可以ServerKeyBitssshd_config.

我想這會ssh -vv localhost &> ssh_connection_specs.out返回我需要的資訊,但我不確定列出的密碼是客戶端還是伺服器支持的密碼。另外我不確定如何在腳本中執行這個非互動式的。

有沒有方便的方法來獲取SSH連接資訊?

您在問題中遺漏了幾點:

  • 你的openssh版本是什麼?它可能會因版本而有所不同。
  • ServerKeyBits是協議版本 1 的選項,您希望禁用它!

支持的密碼、MAC 和 KexAlgorithms 始終以手冊形式提供,這與密鑰長度沒有任何共同之處。

正如您所指出的,**啟用的 Chiphers、MAC 和 KexAlgorithms 是使用連接提供的。**但它們也可以通過其他方式獲得,例如使用sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"

要獲取伺服器密鑰的密鑰長度,可以使用 ssh-keygen:ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

但是您可能還需要在密鑰交換期間提供和使用的模數大小,但這實際上取決於密鑰交換方法,但它也應該可以從調試輸出中讀取ssh -vvv host

引用自:https://serverfault.com/questions/735176