天天看點

Linux上SSH免密登入

在使用git與伺服器連結時希望不需要老是重複輸入密碼,也就是可以免密登入,通過ssh的公鑰密鑰可以實作。

1.在本地機器下生成公鑰/私鑰對。

[[email protected] ~]$ ssh-keygen -t rsa -P

''

   敲擊Enter鍵即可,-P參數表示密碼,後面單引号表示空密碼。

   它在/home/linghu/下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub,一個私鑰檔案一個公鑰檔案。

2. 把本地機器下的id_rsa.pub檔案複制到伺服器機器下的/使用者/.ssh/authorized_keys檔案裡,/使用者就是登入伺服器時使用的使用者。

[[email protected] ~]$ scp .ssh/id_rsa.pub [email protected]:/home/yunos/id_rsa.pub.linghu

[email protected]'s password:

   由于還沒有免密碼登入的,是以要輸入密碼。

3. 然後将伺服器機器的id_rsa.pub.linghu内容添加到/使用者/.ssh/authorzied_keys檔案裡。

[[email protected] ~]$ cat id_rsa.pub.linghu >> .ssh/authorized_keys

[[email protected] ~]$ chmod 600 .ssh/authorized_keys

   authorized_keys的權限要是600。

4. 本地機器免密登入伺服器。

[[email protected] ~]$ ssh 192.168.10.107

   第一次登入是時要你輸入yes。 現在本地機器可以無密碼登入伺服器機器了。

小結:登入的機子可有私鑰,被登入的機子要有登入機子的公鑰。這個公鑰/私鑰對一般在私鑰主控端産生。上面是用rsa算法的公鑰/私鑰對,當然也可以用dsa(對應的檔案是id_dsa,id_dsa.pub)。