天天看点

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机以上面同样的方式配置即可。

继续阅读