Ssh

SSH2 的最佳目前身份驗證密碼?某些是否只允許/不允許?如何判斷現有密鑰是什麼密碼?

  • February 26, 2013
  • 我是一個linux新手。我計劃一般使用 OpenSSH
  • 我已經花了幾個小時,我似乎無法很快找到答案
  • 我已經簡要閱讀了一些關於 IETF 的內容,但老實說,它的內容太深入了,我在文本中迷失了
  • 我已經在這個網站上搜尋了以下內容,但沒有很快找到答案:SSH RSA bad, openssh protocol 2, SSH2 authentication, 除了其他我忘記了
  • 我已經搜尋了這個網站,它說 SSH2 只使用 DSA(就像這個網站一樣)。它還說 SSH2 只使用主機密鑰;而 SSH1 使用伺服器和主機密鑰;這讓我有點困惑
  • 這個ubuntu 頁面表明 DSA 不太安全並建議使用 RSA;關於 SSH2 什麼也沒說
  • HostKey 下 sshd_config (openssh 的網站連結到)的 openbsd手冊頁說 RSA1 僅適用於 SSH1;但是 RSA、dsa 或 ecdsa 用於 SSH2
  • 我相信在組裝這個問題之後,SSH2 可能是 SSH Communications Security 專門為他們實現安全外殼協議 2 而創造的。如上所述,當我談到 SSH 時,我打算只使用 OpenSSH

如何判斷現有密鑰是什麼密碼

我在“OpenSSH_5.5p1 Debian-4ubuntu6,OpenSSL 0.9.8o 2010 年 6 月 1 日”中使用預設選項(我沒有輸入任何參數)創建了一個工作密鑰。我可以從很多東西(文件名、.pub 密鑰中的第一行、私鑰中)中分辨出它的 RSA;我唯一可以確認位強度的地方*(我認為它被稱為)*是當我創建它時顯示頂部的 randomart 顯示 2048。我怎麼知道它是 RSA1 還是 RSA2,還是正常 RSA

請讓我直截了當,因為我想要最安全的 ssh 方式 :)

**TLDR:**使用 2048 位 RSA 密鑰。

除非您使用的是古老的 SSH 客戶端或伺服器,否則您將使用協議版本 2。

雖然 DSA 和 RSA 算法在強度方面相當,但 DSA 密鑰在 SSH 使用時可能只有 1024 位,而 RSA 密鑰不受限制。1024 位密鑰在當今可用的計算能力下變得不安全,因此您至少需要 2048 位,這意味著 RSA。(過去也存在 RSA 的專利問題,導致 DSA 被推薦,但現在不再是這種情況了。)

幾乎所有伺服器都將接受 DSA 和 RSA 密鑰。(由於Debian 錯誤,一些特定的密鑰被列入黑名單,但沒有任何不允許的密碼。) ECDSA 是新的熱門,但並非所有伺服器都支持它,因此它沒有被廣泛使用。一旦這種情況發生變化,ECDSA 可能就是要走的路。

您通常可以通過文件名來判斷密鑰的類型,通常是id_dsa,id_rsaid_ecdsa. 該file命令還可以檢查包含以確定類型:

% file id_rsa
id_rsa: PEM RSA private key

要確定密鑰長度,您可以使用以下openssl命令:

% openssl rsa -in id_rsa -noout -text | head -n1
Enter pass phrase for id_rsa:
Private-Key: (4096 bit)
% openssl dsa -in id_dsa -noout -text | head -n1
read DSA key
Private-Key: (1024 bit)

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