因本人水平有限,文章中存在不足,錯誤之處,還望指正
在日常操作中,我們經常需要在遠端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的公鑰執行一定演算法進行對比...