1. 程式人生 > >ssh-keygen引數說明

ssh-keygen引數說明

http://killer-jok.iteye.com/blog/1853451

ssh-keygen- 生成、管理和轉換認證金鑰
ssh-keygen[-q] [-bbits]-ttype[-Nnew_passphrase] [-Ccomment] [-foutput_keyfile]
ssh-keygen -p[-Pold_passphrase] [-Nnew_passphrase] [-fkeyfile]
ssh-keygen -i[-finput_keyfile]
ssh-keygen -e[-finput_keyfile]
ssh-keygen -y[-finput_keyfile]
ssh-keygen -c

[-Ppassphrase] [-Ccomment] [-fkeyfile]
ssh-keygen -l[-finput_keyfile]
ssh-keygen -B[-finput_keyfile]
ssh-keygen -Dreader
ssh-keygen -Fhostname[-fknown_hosts_file]
ssh-keygen -H[-fknown_hosts_file]
ssh-keygen -Rhostname[-fknown_hosts_file]
ssh-keygen -Ureader[-finput_keyfile]
ssh-keygen -rhostname[-finput_keyfile
] [-g]
ssh-keygen -Goutput_file[-v] [-bbits] [-Mmemory] [-Sstart_point]
ssh-keygen -Toutput_file-finput_file[-v] [-anum_trials] [-Wgenerator]
ssh-keygen用於為
生成、管理和轉換認證金鑰,包括 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的金鑰檔案中有一個"註釋"欄位,可以方便使用者標識這個金鑰,指出金鑰的用途或其他有用的資訊。
     建立金鑰的時候,註釋域初始化為"[email protected]",以後可以用-c選項修改。
     金鑰產生後,下面的命令描述了怎樣處置和啟用金鑰。可用的選項有:
-atrials
             在使用-T對 DH-GEX 候選素數進行安全篩選時需要執行的基本測試數量。
-B      顯示指定的公鑰/私鑰檔案的 bubblebabble 摘要。
-bbits
             指定金鑰長度。對於RSA金鑰,最小要求768位,預設是2048位。DSA金鑰必須恰好是1024位(FIPS 186-2 標準的要求)。
-Ccomment
             提供一個新註釋
-c      要求修改私鑰和公鑰檔案中的註釋。本選項只支援 RSA1 金鑰。
             程式將提示輸入私鑰檔名、密語(如果存在)、新註釋。
-Dreader
             下載儲存在智慧卡reader裡的 RSA 公鑰。
-e      讀取OpenSSH的私鑰或公鑰檔案,並以 RFC 4716 SSH 公鑰檔案格式在 stdout 上顯示出來。
             該選項能夠為多種商業版本的 SSH 輸出金鑰。
-Fhostname
             在known_hosts檔案中搜索指定的hostname,並列出所有的匹配項。
             這個選項主要用於查詢雜湊過的主機名/ip地址,還可以和-H選項聯用列印找到的公鑰的雜湊值。
-ffilename
             指定金鑰檔名。
-Goutput_file
             為 DH-GEX 產生候選素數。這些素數必須在使用之前使用-T選項進行安全篩選。
-g      在使用-r列印指紋資源記錄的時候使用通用的 DNS 格式。
-H      對known_hosts檔案進行雜湊計算。這將把檔案中的所有主機名/ip地址替換為相應的雜湊值。
             原來檔案的內容將會新增一個".old"字尾後儲存。這些雜湊值只能被sshsshd使用。
             這個選項不會修改已經經過雜湊的主機名/ip地址,因此可以在部分公鑰已經雜湊過的檔案上安全使用。
-i      讀取未加密的SSH-2相容的私鑰/公鑰檔案,然後在 stdout 顯示OpenSSH相容的私鑰/公鑰。
             該選項主要用於從多種商業版本的SSH中匯入金鑰。
-l      顯示公鑰檔案的指紋資料。它也支援 RSA1 的私鑰。
             對於RSA和DSA金鑰,將會尋找對應的公鑰檔案,然後顯示其指紋資料。
-Mmemory
             指定在生成 DH-GEXS 候選素數的時候最大記憶體用量(MB)。
-Nnew_passphrase
             提供一個新的密語。
-Ppassphrase
             提供(舊)密語。
-p      要求改變某私鑰檔案的密語而不重建私鑰。程式將提示輸入私鑰檔名、原來的密語、以及兩次輸入新密語。
-q      安靜模式。用於在/etc/rc中建立新金鑰的時候。
-Rhostname
             從known_hosts檔案中刪除所有屬於hostname的金鑰。
             這個選項主要用於刪除經過雜湊的主機(參見-H選項)的金鑰。
-rhostname
             列印名為hostname的公鑰檔案的 SSHFP 指紋資源記錄。
-Sstart
             指定在生成 DH-GEX 候選模數時的起始點(16進位制)。
-Toutput_file
             測試 Diffie-Hellman group exchange 候選素數(由-G選項生成)的安全性。
-ttype
             指定要建立的金鑰型別。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2)
-Ureader
             把現存的RSA私鑰上傳到智慧卡reader
-v      詳細模式。ssh-keygen將會輸出處理過程的詳細除錯資訊。常用於除錯模數的產生過程。
             重複使用多個-v選項將會增加資訊的詳細程度(最大3次)。
-Wgenerator
             指定在為 DH-GEX 測試候選模數時想要使用的 generator
-y      讀取OpenSSH專有格式的公鑰檔案,並將OpenSSH公鑰顯示在 stdout 上。
ssh-keygen可以生成用於 Diffie-Hellman Group Exchange (DH-GEX) 協議的 groups 。
     生成過程分為兩步:
     首先,使用一個快速且消耗記憶體較多的方法生成一些候選素數。然後,對這些素數進行適應性測試(消耗CPU較多)。
     可以使用-G選項生成候選素數,同時使用-b選項制定其位數。例如:
           # ssh-keygen -G moduli-2048.candidates -b 2048
     預設將從指定位數範圍內的一個隨機點開始搜尋素數,不過可以使用-S選項來指定這個隨機點(16進位制)。
     生成一組候選數之後,接下來就需要使用-T選項進行適應性測試。
     此時ssh-keygen將會從 stdin 讀取候選素數(或者通過-f選項讀取一個檔案),例如:
           # ssh-keygen -T moduli-2048 -f moduli-2048.candidates
     每個候選素數預設都要通過 100 個基本測試(可以通過-a選項修改)。
     DH generator 的值會自動選擇,但是你也可以通過-W選項強制指定。有效的值可以是: 2, 3, 5
     經過篩選之後的 DH groups 就可以存放到/etc/ssh/moduli裡面了。
     很重要的一點是這個檔案必須包括不同長度範圍的模數,而且通訊雙方雙方共享相同的模數。
     ~/.ssh/identity
             該使用者預設的 RSA1 身份認證私鑰(SSH-1)。此檔案的許可權應當至少限制為"600"。
             生成金鑰的時候可以指定採用密語來加密該私鑰(3DES)。

將在登入的時候讀取這個檔案。
     ~/.ssh/identity.pub
             該使用者預設的 RSA1 身份認證公鑰(SSH-1)。此檔案無需保密。
             此檔案的內容應該新增到所有 RSA1 目標主機的~/.ssh/authorized_keys檔案中。
     ~/.ssh/id_dsa
             該使用者預設的 DSA 身份認證私鑰(SSH-2)。此檔案的許可權應當至少限制為"600"。
             生成金鑰的時候可以指定採用密語來加密該私鑰(3DES)。

將在登入的時候讀取這個檔案。
     ~/.ssh/id_dsa.pub
             該使用者預設的 DSA 身份認證公鑰(SSH-2)。此檔案無需保密。
             此檔案的內容應該新增到所有 DSA 目標主機的~/.ssh/authorized_keys檔案中。
     ~/.ssh/id_rsa
             該使用者預設的 RSA 身份認證私鑰(SSH-2)。此檔案的許可權應當至少限制為"600"。
             生成金鑰的時候可以指定採用密語來加密該私鑰(3DES)。

將在登入的時候讀取這個檔案。
     ~/.ssh/id_rsa.pub
             該使用者預設的 RSA 身份認證公鑰(SSH-2)。此檔案無需保密。
             此檔案的內容應該新增到所有 RSA 目標主機的~/.ssh/authorized_keys檔案中。
     /etc/ssh/moduli
             包含用於 DH-GEX 的 Diffie-Hellman groups 。檔案的格式在


相關推薦

ssh-keygen 引數說明

     ssh-keygen - 生成、管理和轉換認證金鑰     ssh-keygen [-q] [-b bits] -t type [-N ne

ssh-keygen引數說明

http://killer-jok.iteye.com/blog/1853451 ssh-keygen- 生成、管理和轉換認證金鑰ssh-keygen[-q] [-bbits]-ttype[-Nnew_passphrase] [-Ccomment] [-foutput_k

“exec: "ssh-keygen": executable file not found in %PATH%” 問題解決

light .sh 根目錄 set art oot 保存 .bat ssh set PATH=%PATH%;C:\Program Files (x86)\Git\bin bash start.sh   將以上內容保存為start.bat,放在boot2docker根目

【轉】使用ssh-keygenssh-copy-id三步實現SSH無密碼登錄

works message targe auth mes unix use ner not 【原】http://blog.chinaunix.net/uid-26284395-id-2949145.html ssh-keygen 產生公鑰與私鑰對. ssh-copy-id

ssh-keygen生成公私鑰免密碼登錄遠程服務器

改名 輸入密碼 需要 很多 auth 文件夾 登錄 以及 企業 1.終端輸入命令:ssh-keygen -t rsa 定要創建的密鑰類型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2) -N new_passphrase

N天學習一個linux命令之ssh-keygen

IE provides filename mes pll pub cif sts key 用途 生成ssh加密算法需要使用到的秘鑰以及管理和轉換 用法 ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-

解決git push/pull 每次都要輸入密碼、ssh-keygen

mage 打開終端 utf div span 中文亂碼 bubuko XA lob 一、問題描述 以github為例 每次在向github服務器 推送代碼(git push),都會提示輸入用戶名密碼 二、問題原因 在clone 代碼時使用的是HTTS協議 三、

ssh-keygen 的 詳解

keyword mod 不用 conf keygen 漏洞 continue sin 不支持 為了讓兩個linux機器之間使用ssh不需要用戶名和密碼。所以采用了數字簽名RSA或者DSA來完成這個操作。 模型分析 假設 A (192.168.20.59)為客戶機器,B

使用ssh keygen實現rsync免密鑰同步數據

linux rsync 運維 ssh 總結:生成公鑰和私鑰,把公鑰推送到遠端,並生成authorized_keys公鑰驗證配置文件rsync連接方式每次都需要輸入密碼;我們可以通過ssh keygen的公私鑰機制來實現ssh連接時認證(做定時任務時,可能需要用到)。1、服務器添加用戶Ricky

ssh-keygen 不是內部或外部命令

目錄 log 搜索 ast gravity path 處理 環境變量 nbsp 使用git的遠程倉庫,生成秘鑰,遇到的問題 如何處理呢? 1.找到Git/usr/bin目錄下的ssh-keygen.exe(如果找不到,可以在計算機全局搜索) 2.屬性-->

ssh-keygen常用參數詳解

ssh linux 運維 遠程連接 ssh-keygen是SSH服務下的一個生成、管理和轉換認證密鑰的命令工具。包括兩種密鑰類型DSA和RSA通過公私鑰的驗證可以使服務器與服務器之間實現無密碼通訊。ssh-keygen常用參數-t:指定生成密鑰的類型,默認使用SSH2d的rsa-f:指定生成密

ssh-keygen -t rsa -b 4096 -C "郵箱"

來看 個人 comm 創建 blank ssh登錄 冒充 必須 hal ssh-keygen -t rsa -b 4096 -C "郵箱":這條命令的目的是為了讓本地機器ssh登錄遠程機器上的GitHub賬戶無需輸入密碼。將這條命令分解: 1、ssh-keygen: S

CentOS6.9下ssh密鑰登錄配置步驟(免密碼登錄)和ssh-keygen 命令常用參數

通過 str ssh 其他 添加 ip地址 login strong 私有 密鑰登錄步驟(免密碼登錄)ssh登錄提供兩種認證方式:口令(密碼)認證方式和密鑰認證方式。其中口令(密碼)認證方式是我們最常用的一種,出於安全方面的考慮,介紹密鑰認證方式登錄到linux/unix的

ssh-keygen的使用方法及配置authorized_keys兩臺linux機器相互認證

ssh-keygen的使用方法及配置authorized_keys兩臺linux機器相互認證 一、概述 1、就是為了讓兩個linux機器之間使用ssh不需要使用者名稱和密碼。採用了數字簽名RSA或者DSA來完成這個操作 2、模型分析 假設 A (192.168.20.59)為客戶機器

Linux免密碼登入設定 ssh-keygen

linux系統配置免密碼的方式: 1:ssh-keygen -t rsa 生成金鑰 [[email protected] ~]# ssh-keygen -t  rsa Generating public/private rsa key pair.

centos普通使用者ssh-keygen後仍需重複輸入密碼問題

用root使用者建立ssh 的時候沒有問題,在用普通使用者登入後,建立了ssh免密登入後,需要反覆輸入密碼。查詢原因後,發現許可權不夠。 [[email protected] .ssh]$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa Genera

ssh-keygen 免密碼遠端連線

ssh除了使用密碼驗證外,還提供了一種公私金鑰的驗證方式。客戶端生成一個私鑰,並生成一個與之對應的公鑰,然後將公鑰上傳到伺服器上 1、在本地機器建立公鑰 ssh-keygen -t rsa -C 'your email'   然後一路回車,生成你自己的金鑰 &nb

【Git】Git免密登入,使用ssh-keygen生成多個key分別用於公司的gitlab和自己的github倉庫

一、在git bash中執行 ssh-keygen -t rsa -C ‘[email protected]’ -f ~/.ssh/id_rsa_xxx 二、新增配置 在使用者目錄的.ssh目

ssh-keygen配合~/.ssh/config免密碼及[email protected]

用過終端登入遠端伺服器或者VPS的童鞋都用過類似的命令:ssh [email protected],輸入密碼後就可以登入遠端伺服器了,但是人總是懶滴,Here,免輸入密碼登入遠端伺服器的方法: 開啟終端,本地生成id_rsa(私鑰),id_rsa.pub(公

Linux系統用ssh-keygen生成公私鑰

專案開發過程中我們經常需要用git從遠端程式碼庫拉取程式碼到本地,或者需要從一臺伺服器端登入另一臺伺服器,這些情況下都需要知道遠端程式碼庫或者伺服器的賬號和密碼。有沒有一種方法可以不用每次連線遠端機器的時候都輸入賬號和密碼呢?答案是有的,這就是利用ssh-keygen生成本