基于SSH免密碼登陸
描述 ssh-keygen 用于為 ssh(1)生成、管理和轉換認證密鑰,包括 RSA 和 DSA 兩種密鑰。 密鑰類型可以用 -t 選項指定。如果沒有指定則默認生成用于SSH-2的RSA密鑰。
ssh-keygen 還可以用來產生 Diffie-Hellman group exchange (DH-GEX) 中使用的素數模數。 參見模數和生成小節。 一般說來,如果用戶希望使用RSA或DSA認證,那么至少應該運行一次這個程序, 在 ~/.ssh/identity, ~/.ssh/id_dsa 或 ~/.ssh/id_rsa 文件中創建認證所需的密鑰。 另外,系統管理員還可以用它產生主機密鑰。 通常,這個程序產生一個密鑰對,并要求指定一個文件存放私鑰,同時將公鑰存放在附加了".pub"后綴的同名文件中。 程序同時要求輸入一個密語字符串(passphrase),空表示沒有密語(主機密鑰的密語必須為空)。 密語和口令(passWord)非常相似,但是密語可以是一句話,里面有單詞、標點符號、數字、空格或任何你想要的字符。 好的密語要30個以上的字符,難以猜出,由大小寫字母、數字、非字母混合組成。密語可以用 -p 選項修改。 丟失的密語不可恢復。如果丟失或忘記了密語,用戶必須產生新的密鑰,然后把相應的公鑰分發到其他機器上去。 RSA1的密鑰文件中有一個"注釋"字段,可以方便用戶標識這個密鑰,指出密鑰的用途或其他有用的信息。 創建密鑰的時候,注釋域初始化為"user@host",以后可以用 -c 選項修改。 密鑰產生后,下面的命令描述了怎樣處置和激活密鑰??捎玫倪x項有: -a trials 在使用 -T 對 DH-GEX 候選素數進行安全篩選時需要執行的基本測試數量。 -B 顯示指定的公鑰/私鑰文件的 bubblebabble 摘要。 -b bits 指定密鑰長度。對于RSA密鑰,最小要求768位,默認是2048位。DSA密鑰必須恰好是1024位(FIPS 186-2 標準的要求)。 -C comment 提供一個新注釋 -c 要求修改私鑰和公鑰文件中的注釋。本選項只支持 RSA1 密鑰。 程序將提示輸入私鑰文件名、密語(如果存在)、新注釋。 -D reader 下載存儲在智能卡 reader 里的 RSA 公鑰。 -e 讀取OpenSSH的私鑰或公鑰文件,并以 RFC 4716 SSH 公鑰文件格式在 stdout 上顯示出來。 該選項能夠為多種商業版本的 SSH 輸出密鑰。 -F hostname 在 known_hosts 文件中搜索指定的 hostname ,并列出所有的匹配項。 這個選項主要用于查找散列過的主機名/ip地址,還可以和 -H 選項聯用打印找到的公鑰的散列值。 -f filename 指定密鑰文件名。 -G output_file 為 DH-GEX 產生候選素數。這些素數必須在使用之前使用 -T 選項進行安全篩選。 -g 在使用 -r 打印指紋資源記錄的時候使用通用的 DNS 格式。 -H 對 known_hosts 文件進行散列計算。這將把文件中的所有主機名/ip地址替換為相應的散列值。 原來文件的內容將會添加一個".old"后綴后保存。這些散列值只能被 ssh 和 sshd 使用。 這個選項不會修改已經經過散列的主機名/ip地址,因此可以在部分公鑰已經散列過的文件上安全使用。 -i 讀取未加密的SSH-2兼容的私鑰/公鑰文件,然后在 stdout 顯示OpenSSH兼容的私鑰/公鑰。 該選項主要用于從多種商業版本的SSH中導入密鑰。 -l 顯示公鑰文件的指紋數據。它也支持 RSA1 的私鑰。 對于RSA和DSA密鑰,將會尋找對應的公鑰文件,然后顯示其指紋數據。 -M memory 指定在生成 DH-GEXS 候選素數的時候最大內存用量(MB)。 -N new_passphrase 提供一個新的密語。 -P passphrase 提供(舊)密語。 -p 要求改變某私鑰文件的密語而不重建私鑰。程序將提示輸入私鑰文件名、原來的密語、以及兩次輸入新密語。 -q 安靜模式。用于在 /etc/rc 中創建新密鑰的時候。 -R hostname 從 known_hosts 文件中刪除所有屬于 hostname 的密鑰。 這個選項主要用于刪除經過散列的主機(參見 -H 選項)的密鑰。 -r hostname 打印名為 hostname 的公鑰文件的 SSHFP 指紋資源記錄。 -S start 指定在生成 DH-GEX 候選模數時的起始點(16進制)。 -T output_file 測試 Diffie-Hellman group exchange 候選素數(由 -G 選項生成)的安全性。 -t type 指定要創建的密鑰類型??梢允褂茫?rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2) -U reader 把現存的RSA私鑰上傳到智能卡 reader -v 詳細模式。ssh-keygen 將會輸出處理過程的詳細調試信息。常用于調試模數的產生過程。 重復使用多個 -v 選項將會增加信息的詳細程度(最大3次)。 -W generator 指定在為 DH-GEX 測試候選模數時想要使用的 generator -y 讀取OpenSSH專有格式的公鑰文件,并將OpenSSH公鑰顯示在 stdout 上。文件 ~/.ssh/identity 該用戶默認的 RSA1 身份認證私鑰(SSH-1)。此文件的權限應當至少限制為”600”。 生成密鑰的時候可以指定采用密語來加密該私鑰(3DES)。 ssh(1) 將在登錄的時候讀取這個文件。
~/.ssh/identity.pub 該用戶默認的 RSA1 身份認證公鑰(SSH-1)。此文件無需保密。 此文件的內容應該添加到所有 RSA1 目標主機的 ~/.ssh/authorized_keys 文件中。 ~/.ssh/id_dsa 該用戶默認的 DSA 身份認證私鑰(SSH-2)。此文件的權限應當至少限制為"600"。 生成密鑰的時候可以指定采用密語來加密該私鑰(3DES)。 ssh(1) 將在登錄的時候讀取這個文件。 ~/.ssh/id_dsa.pub 該用戶默認的 DSA 身份認證公鑰(SSH-2)。此文件無需保密。 此文件的內容應該添加到所有 DSA 目標主機的 ~/.ssh/authorized_keys 文件中。 ~/.ssh/id_rsa 該用戶默認的 RSA 身份認證私鑰(SSH-2)。此文件的權限應當至少限制為"600"。 生成密鑰的時候可以指定采用密語來加密該私鑰(3DES)。 ssh(1) 將在登錄的時候讀取這個文件。 ~/.ssh/id_rsa.pub 該用戶默認的 RSA 身份認證公鑰(SSH-2)。此文件無需保密。 此文件的內容應該添加到所有 RSA 目標主機的 ~/.ssh/authorized_keys 文件中。 /etc/ssh/moduli 包含用于 DH-GEX 的 Diffie-Hellman groups 。文件的格式在 moduli(5) 手冊頁中描述。新聞熱點
疑難解答