天天看點

ssh 免密碼登入

注意:如果a機器需要免密碼登入b機器,則需要把a機器的公鑰id_rsa.pub 加到 b機器的authorized_keys,不要弄反了

ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以centos為例。

有機器a(192.168.1.155),b(192.168.1.181)。現想a通過ssh免密碼登入到b。

1.在a機下生成公鑰/私鑰對。

[chenlb@a ~]$ ssh-keygen -t rsa 

不用輸入任何東西,回車三次

它在/root下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub。

2.把a機下的id_rsa.pub複制到b機下,在b機的.ssh/authorized_keys檔案裡,我用scp複制。

[chenlb@a ~]$ scp .ssh/id_rsa.pub [email protected]:/home/chenlb/id_rsa.pub 

[email protected]'s password:

id_rsa.pub                                    100%  223     0.2kb/s   00:00

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

3.b機把從a機複制的id_rsa.pub添加到/root/.ssh/authorzied_keys檔案裡。

[chenlb@b ~]$ cat id_rsa.pub >> /root/.ssh/authorized_keys

[chenlb@b ~]$ chmod 600 /root/.ssh/authorized_keys

注意:authorzied_keys是檔案,不是目錄,把a機的公鑰id_rsa.pub的内容追加到b機的/root/.ssh/authorized_keys檔案中。authorized_keys的權限要是600,不能是777及其他。

4.a機登入b機。

[chenlb@a ~]$ ssh 192.168.1.181

the authenticity of host '192.168.1.181 (192.168.1.181)' can't be established.

rsa key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.

are you sure you want to continue connecting (yes/no)? yes

warning: permanently added '192.168.1.181' (rsa) to the list of known hosts.

last login: thu jul  3 09:53:18 2008 from chenlb

[chenlb@b ~]$

第一次登入是時要你輸入yes。

現在a機可以無密碼登入b機了。

特别要注意檔案權限,問題,不然會出現各種問題,導緻無法免密碼登入。

(1)root 目錄權限

ssh 免密碼登入

(2).ssh目錄權限

ssh 免密碼登入

(3)公鑰私鑰權限

ssh 免密碼登入

想讓a,b機無密碼互登入,那b機以上面同樣的方式配置即可。

繼續閱讀