SSH實現免密碼登入

2021-07-22 05:32:44 字數 1545 閱讀 9951

因本人水平有限,文章中存在不足,錯誤之處,還望指正

在日常操作中,我們經常需要在遠端linux主機中使用ssh進行操作。來回輸入使用者名稱,密碼變得非常繁瑣,我們希望在操作中減少使用者名稱,密碼輸入的過程,這是我們就可以使用ssh來實現免密碼登入。

步驟

實驗環境

client: redhat 6.3

server: redhat 6.3

以本地主機作為客戶端client(192.168.15.7),遠端主機作為伺服器端server(192.168.15.4),下面來實現用ssh實現client免密碼登入server的操作(或者說本地主機為a,遠端主機為b,a免密碼登入主機b):

1、本地生成公私鑰對

2、將公鑰上傳至遠端主機使用者目錄下的.ssh/目錄下,如/home/user/.ssh,並修改名稱為 authorized_keys

3、修改使用者home目錄下的.ssh/和.ssh/authorized_keys許可權,.ssh/一般為700,.ssh/authorized_keys為600

4、修改server端sshd服務配置檔案/etc/ssh/sshd_config,設定為允許使用金鑰驗證登入,然後重啟服務

5、驗證是否可以使用金鑰登入了

# 在本地主機生成公私鑰對

# client

ssh-keygen -t rsa -p ''

# 複製公鑰到遠端主機(192.168.15.4)

# client

scp ~/.ssh/id_rsa.pub [email protected]

:~/

# 將公鑰重新命名為authorized_keys,並放在~(使用者home目錄)下

# server

mkdir -m 700 ~/.ssh/

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

請務必注意authorized_keys檔案的許可權:600

# 編輯服務端sshd的配置檔案,設定為允許使用金鑰驗證方式登入

# server

# vim /etc/ssh/sshd_config

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile .ssh/authorized_keys

# 重啟sshd服務使配置生效

# server

service sshd restart

# 待sshd服務重啟完成後,接下來就可以進行登入驗證了

# client

# 看看是否還是要輸入密碼呢

ssh user@host_name

參考

ssh 免密碼登入

ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh keygen t rs...

ssh 免密碼登入

ssh 免密碼登入 ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh k...

ssh免密碼登入

實現原理 主機a 產生公鑰和金鑰,將主機a的公鑰傳送到主機b 主機b 接收主機a傳送的公鑰 主機a ssh請求登入到主機b 主機b 傳送給主機a一串字元 主機a 收到主機b傳送的字元,使用金鑰進行加密,並傳送回到主機b 主機b 接收到主機a使用金鑰加密後的字元,使用主機a的公鑰執行一定演算法進行對比...