我們在使用linux開發過程中,經常需要在不同服務器間進行跳轉,通過ssh,每次都需要輸入密碼,比較繁瑣,今天從網上找了相關的方法,但是實驗過程中發現還是有些問題,特將一些細節整理如下:
比如我有機器192.168.1.100 和192.168.1.200兩臺服務器,我想從100登錄到200中利用ssh不輸入密碼,所以我需要進行如下的步驟
1、首先在ip爲100的機器上執行ssh-keygen 命令,一路回車,這樣,就在當前用戶目錄下的.ssh文件夾下生成了兩個文件id_rsa和id_rsa.pub文件
2、將id_rsa.pub利用scp命令傳送到200機器上,,如scp id_rsa.pub [email protected]:/root/.ssh/100.put
如果在200的/root/.ssh/目錄下有 authorized_keys 這個文件的話,則直接利用cat命令將100.put文件內容添加到 authorized_keys後,
命令如下: cat 100.pub >> authorized_keys
注意,不能利用手工的拷貝,否則會導致失敗,只能用cat >> (這點讓我嘗試了很多次)
3、修改authorized_keys 的權限爲600,如下:chmod 600 authorized_keys
然後刪除100.pub就可以了,大功告成,趕緊到100的機器上試試 ssh [email protected] ,看看直接進去了吧,不用再輸入密碼了!