ssh-keygen參數說明

ssh-keygen - 生成、管理和轉換認證密鑰

通常使用:[b]ssh-keygen -i -f 公密匙名>> authorized_keys[/b]

 

語法詳細介紹

[code]ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-foutput_keyfile]

ssh-keygen -p[-P old_passphrase] [-N new_passphrase] [-f keyfile]

ssh-keygen -i[-f input_keyfile]

ssh-keygen -e[-f input_keyfile]

ssh-keygen -y[-f input_keyfile]

ssh-keygen -c[-P passphrase] [-C comment] [-f keyfile]

ssh-keygen -l[-f input_keyfile]

ssh-keygen -B[-f input_keyfile]

ssh-keygen -Dreader

ssh-keygen -Fhostname [-f known_hosts_file]

ssh-keygen -H[-f known_hosts_file]

ssh-keygen -Rhostname [-f known_hosts_file]

ssh-keygen -Ureader [-f input_keyfile]

ssh-keygen -rhostname [-f input_keyfile] [-g]

ssh-keygen -Goutput_file [-v] [-b bits] [-M memory] [-S start_point]

ssh-keygen -Toutput_file -f input_file [-v] [-a num_trials] [-W generator][/code]

 

描述

ssh-keygen 用於爲 ssh(1)生成、管理和轉換認證密鑰,包括 RSA  DSA 兩種密鑰。

密鑰類型可以用 -t 選項指定。如果沒有指定則默認生成用於SSH-2RSA密鑰。

ssh-keygen 還可以用來產生 Diffie-Hellman group exchange (DH-GEX) 中使用的素數模數。

參見模數和生成小節。

一般說來,如果用戶希望使用RSADSA認證,那麼至少應該運行一次這個程序,

~/.ssh/identity, ~/.ssh/id_dsa  ~/.ssh/id_rsa 文件中創建認證所需的密鑰。

另外,系統管理員還可以用它產生主機密鑰。

通常,這個程序產生一個密鑰對,並要求指定一個文件存放私鑰,同時將公鑰存放在附加了".pub"後綴的同名文件中。

程序同時要求輸入一個密語字符串(passphrase),空表示沒有密語(主機密鑰的密語必須爲空)

密語和口令(password)非常相似,但是密語可以是一句話,裏面有單詞、標點符號、數字、空格或任何你想要的字符。

好的密語要30個以上的字符,難以猜出,由大小寫字母、數字、非字母混合組成。密語可以用 -p 選項修改。

丟失的密語不可恢復。如果丟失或忘記了密語,用戶必須產生新的密鑰,然後把相應的公鑰分發到其他機器上去。

RSA1的密鑰文件中有一個"註釋"字段,可以方便用戶標識這個密鑰,指出密鑰的用途或其他有用的信息。

創建密鑰的時候,註釋域初始化爲"[email=user@host]user@host[/email]",以後可以用 -c 選項修改。

密鑰產生後,下面的命令描述了怎樣處置和激活密鑰。可用的選項有:

-a trials

在使用 -T  DH-GEX 候選素數進行安全篩選時需要執行的基本測試數量。

-B 顯示指定的公鑰/私鑰文件的 bubblebabble 摘要。

-b bits

指定密鑰長度。對於RSA密鑰,最小要求768位,默認是2048位。DSA密鑰必須恰好是1024(FIPS186-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 的私鑰。

對於RSADSA密鑰,將會尋找對應的公鑰文件,然後顯示其指紋數據。

-M memory

指定在生成 DH-GEXS候選素數的時候最大內存用量(MB)

-Nnew_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 上。

 

Note:

1.一般我們常用如下命令來生成ssh公匙和私匙。

ssh-keygen  -t dsa –C user.email –f  ~/.ssh/user.email

1> -t dsa 採用das加密方式的公匙/私匙對,初了das還有ras方式。

2>-C user.email 對這個公匙/私匙對的一個註釋和說明,一般用個人郵件代替。

3> -f 指定key file的文件名和路徑。

如果沒有特別說明,公匙/私匙對會存放在.ssh目錄下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章