如何在Ubuntu中不用密碼的SSH連線?

在Linux主機之間,如何啟用免密碼可以透過SSH連線進入主機(Enable password-less ssh connection)? 這個讓彼此信任的主機直接存取,無需要每次皆要輸入密碼。簡單說就是你可以透過SSH連到遠端的機器主機上,再登入的時候不用打密碼就可以直接連線登入主機。

設定步驟如下:

1. 產生SSH金鑰

先確認目前系統的使用者有沒有公私鑰(private/public key)。如果沒有公私鑰,得先產生用來存取其他主機的使用者的公私鑰,例如:本機端的使用者abay,要能夠存取其遠端主機,這時我們就必須先建立使用者abay的公私鑰,透過指令ssh-keygen來產生金鑰。

注意:在產生金鑰的時候,不要輸入密碼。

 ssh-keygen  
   
 Generating public/private key pair.  
 Enter file in which to save the key (/ceph-admin/.ssh/id_rsa):  
 Enter passphrase (empty for no passphrase):  
 Enter same passphrase again:  
 Your identification has been saved in /home/abay/.ssh/id_rsa.  
 Your public key has been saved in /home/abay/.ssh/id_rsa.pub.  

完成公私鑰的建立我們可以看到指令ssh-keygen已經將公鑰id_rsa.pub建立在/home/abay/.ssh下,私鑰id_rsa也在這個資料夾下。

2. 將金鑰複製到遠端的機器上

將剛剛產生好的金鑰傳送到預登入的機器上。下列例子透過指令ssh-copy-id將金鑰傳送到主機192.168.1.1上。

 ssh-copy-id abay@192.168.1.1  

如果你的電腦上沒有ssh-copy-id這個指令,你可以直接開啟使用者的公鑰/home/abay/.ssh/id_rsa.pub將內容複製,然後貼到對方機器的使用者/home/abay2/.ssh/authorized_keys

留言

這個網誌中的熱門文章

如何關閉nouveau-kernel-driver,解決無法安裝Nvidia driver問題

如何在Nginx所設置的Proxy中可以取得真實客戶的IP位址

如何客製VMware ESXi安裝光碟(加入Realtek驅動程式)