Linux下的ssh認證,不用密碼登陸另一臺機器(轉)

BSDLite發表於2007-08-11
Linux下的ssh認證,不用密碼登陸另一臺機器(轉)[@more@]LINUX程式設計師在日常工作中都會遇到遠端登陸這樣的問題,每次輸入密碼是不是很煩人.

我就在這整理一下,ssh證書到底是怎麼搞的!


在linux下使用ssh認證,不輸入密碼訪問另一臺機器

在工作中由於常用到ssh登入其它機器,所在每臺機器上做了ssh認證,這樣就不用每次都輸入繁瑣的密碼。

有兩臺機器:server_1 和 server_2
賬號都為:work
轉到work賬號下:su - work
執行:ssh-keygen -d (一路回車下去 )
命令輸出為:
Enter file in which to save the key (/home/work/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/work/.ssh/id_dsa.
Your public key has been saved in /home/work/.ssh/id_dsa.pub.
The key fingerprint is:
32:21:e1:3b:7d:6e:de:4b:39:da:af:38:fe:90:40:61 work@server_1.server.com

在/home/work目錄下就產生了.ssh的隱含目錄,進入些目錄下產生兩個檔案:
id_dsa ------------ 私鑰檔案
id_dsa.pub ------------ 公鑰檔案

將id_dsa.pub複製一份檔名為:authorized_keys2
並將 authorized_keys2 的屬性改為 600 即檔案所屬使用者有讀和寫的許可權,組使用者和其它使用者禁止讀寫,用命令:

程式碼:

cp id_dsa.pub authorized_keys2
chmod 600 authorized_keys2


同樣在server_2上做以上操作,下一步就實現真正的ssh認證了:
將server_1上/home/work/.ssh目錄下的id_dsa.pub公鑰檔案拷到server_2的/home/work/.ssh目錄下(注意:不要覆蓋掉server_2的id_dsa.pub,拷時要改名)如:
程式碼:


[work@server_1 .ssh]$ scp id_dsa.pub work@server_2:.ssh/server_1.pub


在server_2的/home/work/.ssh目錄下就有了如下檔案:
authorized_keys2
id_dsa
id_dsa.pub
server_1.pub

用命令:
程式碼:

cat server_1.pub >> authorized_keys2
(注意一定要用追加操作 ">>" 不能用 ">")

這樣server_1到server_2的ssh認證就做好了。在server_1上用命令:
程式碼:

ssh work@server_2
就直接登入到server_2上,而不用輸入密碼了。

server_2到server_1的認證同上操作即可。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-946956/,如需轉載,請註明出處,否則將追究法律責任。

相關文章