linux下實現ssh自動登入遠端伺服器
前言:開發工作中,由於有時需要通過ssh登入遠端伺服器上去,每次都要輸入密碼,密碼很難記,感覺很麻煩,於是上網搜了通過
ssh自動登入遠端伺服器上去,從而免去了每次都要輸入密碼的困擾。
系統說明:
本地機器:Redhat
遠端機器:Redhat
步驟:
A.本地機器需要做的修改工作
1.通過ssh-keygen產生RSA公私金鑰對
#ssh-keygen -t rsa
一路敲回車下去,最後在~/.ssh資料夾下生成id_rsa和id_rsa.pub兩個檔案
2.在~/.ssh資料夾下建立config檔案
具體如下:
Host abc //伺服器別名
HostName xxx.xxx.xxx.xxx //伺服器的ip地址
User root //
Port 22 //ssh服務埠
注:如果需要對遠端多臺機子配置,則config文字檔案裡面再新增一條記錄,格式和上面的一樣。
3.將id_rsa.pub檔案通過gftp上傳到遠端伺服器上中~/.ssh資料夾下
B.遠端機器需要做的修改工作
1.用vi開啟/etc/ssh/sshd_config這個檔案
將下面幾行前面“#”註釋取掉
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2.在使用者根目錄下建立.ssh資料夾,如果已經有了就不用建立了.具體路徑為(~/.ssh)
# cd ~/.ssh
在.ssh資料夾下建立authorized_keys檔案,記住authorized_keys是檔案,不是資料夾。
將先前客戶端上傳id_rsa.pub檔案中的內容拷貝貼上到authorized_keys中去,
然後儲存authorized_keys。
3.重啟ssh服務命令
#service sshd restart
C.回到本機機器linux客戶端進行測試
在終端中敲入命令
# ssh abc //注abc 是config檔案中配置的伺服器別名
就直接進入遠端伺服器了。
備註:這一步如果出現bad owers啥錯誤時 需要改名.ssh資料夾和裡面檔案許可權才行
具體命令如下:
#chmod 700 ~/.ssh
#chmod go+rwx ~/.ssh/*