使用ssh遠程連接服務器,有兩種身份校驗方式:賬號密碼和秘鑰。使用秘鑰的方式理論上更加安全,而且免去了輸入密碼的步驟,使用起來更方便(尤其對于sftp,scp等)。
ssh秘鑰的生成和使用,網上很多教程,感覺不太完整,這里自己總結一下。
秘鑰由誰生成這是比較容易搞亂的一點。這里以A、B兩臺服務器為例,假設A需要ssh登錄B,那么應該由那臺服務器生成秘鑰呢。可能有人以為像門鎖一樣,主人家負責裝鎖配鑰匙,把鑰匙交給要開門的人使用,所以由被訪問的B服務器生成秘鑰。事實恰恰相反,秘鑰由訪問請求方A服務器生成,并把生成的公鑰交給B導入;公鑰可以在多臺服務器導入,一臺服務器導入了A的公鑰,即意味著承認A的有訪問自己權限,所以A可以用一套密鑰登錄多臺服務器。
賬號訪問和被訪問的服務,需要有相同的賬號,而且密鑰由該賬號生成。
密鑰生成在A服務器上執行命令:ssh-keygen -t [rsa|dsa]rsa和dsa是生成密鑰常用的兩種加密算法,其他可選算法還有ecdsa、rsa1等。命令執行過程需要用戶輸入的地方連續回車即可(enter passphrase的別輸入,否則登錄的時候還是得輸入密鑰密碼)。執行成功后,在用戶home目錄下的.ssh子目錄里會生成私鑰文件和公鑰文件:id_rsa,id_rsa.pub或id_dsa,id_dsa.pub。
公鑰導入方法一:把公鑰文件id_rsa.pub上傳到B服務器,然后執行:cat id_rsa.pub >> ~/.ssh/authorized_keys將id_rsa.pub的內容,追加到文件~/.ssh/authorized_keys中方法二:在A服務器上使用命令cat /.ssh/id_rsa.pub查看公鑰內容,將內容復制**追加**到B服務器的文件/.ssh/authorized_keys中(請注意不要刪除或覆蓋該文件中已有的內容)。
修改權限A服務器上的.ssh和秘鑰文件的權限在ssh-keygen生成時已設好,無須特別設置。B服務器上如果是首次添加authorized_keys,需要修改權限:chmod 600 authorized_keys設置authorized_keys權限chmod 700 -R .ssh設置.ssh目錄權限
登錄在A服務器上執行:ssh ip/hostname(B服務器的ip或主機名)即可登錄。
ssh使用秘鑰免密碼登錄(轉載)
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 2018-Read-Record 記錄我的2018學習歷程 文中首先解釋了加密解密的一些基礎知識和概念,然后通過一...
- SSH全稱Secure SHell,顧名思義就是非常安全的shell的意思,SSH協議是IETF(Internet...