LinuxSSH免密登入

2021-10-04 13:54:47 字數 1257 閱讀 6475

linux免密登入使用的rsa演算法。

rsa本身是一種非對稱加密演算法,會生成公鑰和私鑰。

公鑰使用公鑰對內容進行加密

天王蓋地虎

私鑰持有私鑰的pc才能正常訪問公鑰加密的內容

曹洋一公尺五

只要持有私鑰就能訪問公鑰加密的內容,這種事情本身就是存在風險的。一旦私鑰丟失,那麼伺服器上的資料就存在被竊取的風險。

但是linux生成公鑰和私鑰的時候支援對私鑰證書檔案新增密碼。

證書使用場景:

場景一:只是單純的使用證書來登入伺服器。

使用證書的登入方式可以避免密碼遺忘、洩漏的問題。

使用證書登入伺服器的方式也是伺服器加固(伺服器安全相關問題)的方式。

伺服器可以設定不允許使用密碼進行遠端登入。只允許證書的方式登入。

證書本身支援加密,就算證書丟失,再不知道證書密碼的情況,證書屬於無效檔案。

場景二:集群中使用證書進行免密登入。

因為但凡設計到集群的時候,一般都不會是小數目的伺服器數量。眾多的伺服器之間進行互相訪問,頻繁的輸入密碼的事情將會成為開發工程師噩夢。

所以,使用證書管理集群的時候,可以免除集群中的伺服器互相訪問時工程師手工輸入密碼的問題。

證書的生成:

ssh-keygen

證書檔案會存放在當前賬戶的家目錄下的隱藏目錄".ssh"目錄下,在該目錄下會有以下4個檔案:

id_rsa

私鑰執行證書生成命令才會有

id_rsa.pub

公鑰執行證書生成命令才會有

known_hosts

曾經訪問過的伺服器資訊

每次ssh、scp、ssh-copy-id到遠端伺服器時就會儲存記錄到此檔案中,以後再此訪問該伺服器時就不會再提示那一句"你確定要繼續訪問嗎 yes/no?"

authorized_keys

記錄來訪伺服器的公鑰檔案內容

該檔案會記錄訪問本機的遠端伺服器的公鑰證書檔案內容,只有對應的私鑰才能進行驗證。

證書註冊:(公鑰的拷貝)

將本機的公鑰證書檔案註冊到遠端伺服器上,此後就可以使用私鑰證書進行登入。

ssh-copy-id @host_ip

執行此命令,會要求輸入遠端伺服器的對應賬戶的密碼。

這一步就是向遠端伺服器註冊本機的id_rsa.pub檔案(公鑰)內容。此後只有本機上與公鑰檔案共同生成的私鑰才能夠進行免密登入。

免密碼登入原理圖

linux ssh 免密登入

a機器免密碼登入b機器 生成金鑰 機器a ssh keygen t rsa 敲回車就好,不要設定密碼 傳送到遠端伺服器 機器a,機器b的ip 127.0.0.1 scp ssh id rsa.pub root 127.0.0.1 root ssh 追加到檔案中 在機器b上操作 cat ssh id ...

linux ssh免密登入

每次在使用 ssh 登入的時候,需要輸入密碼,而密碼往往比較長,即使是複製貼上也比較麻煩,典型的做法可採用 rsa 秘鑰的形式來實現密碼登入,亦可採用 shell expect 的方式。本文採用方案一,如對 expect 有興趣可自行了解。ssh keygen t rsa b 4096 c 備註 e...

Linux ssh免密登入

假設 伺服器a 要免密登入 伺服器b ssh keygen t rsa p 1.直接回車生成金鑰對 id rsa和id rsa.pub 2.把id rsa.pub追加到授權的key裡面去 ssh authorized keys cat ssh id rsa.pub ssh authorized ke...