为了搭建一个集群,需要做ssh无密码登录,这个玩意好久之前弄过,技术这玩意,也是必须是熟练活啊,不碰,就忘记了...
    要求是三台机器之间,可以互相之间用ssh直接可以登录,不需要输入密码,下面记下主要过程,以备将来忘记在来复习:
[root@localhost .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):    #默认为空
Enter passphrase (empty for no passphrase):               #默认为空
Enter same passphrase again:                             #默认为空
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
6a:83:7b:6a:52:60:33:de:e0:c1:55:52:2b:c7:59:c9 root@localhost.localdomain
[root@localhost .ssh]#


上面就是生成本机的公钥和私钥,由于我的要求是不需要输入密码就能ssh登录远程的机器,所以上面的第二步要求我输入密码时,直接回车,第一次时,我输入了个验证码,接着就把公钥scp到远程机器上,提示我输入验证码,我傻掉了,怎么回事,后来忽然想起我的需求,删除掉全部钥匙,全部重来。。。

  
接下来我们:我们新建一个文件:authorized_keys,接着运行
   cat id_rsa.pub >> authorized_keys

接下来,我们这个文件authorized_keys用scp命令复制到第二台机器的/root/.ssh/目录下,远程登录到第二台机器上,运行第一次机器上的命令生成本机的公钥和私钥,然后再运行  cat id_rsa.pub >> authorized_keys,接着把这个authorized_keys复制到第三台的/root/.ssh/目录下,操作过程如第二台,生成本机的公钥和私钥,然后  cat id_rsa.pub >> authorized_keys,做完之一步之后,可以看到这个文件的容量是原来第一台的3倍,好了,终于快完工了,这个时候,把这个最后的authorized_keys文件复制到第一台和第二台的/root/.ssh/目录下,如果一切都顺利的话,现在这3台机器之间可以相互通过ssh连接而不需要密码输入了。。。


如果第一台不奏效的话,请确认您的 /etc/ssh/ssh_config 里没有写着这么一行

AuthorizedKeysFile      .ssh/authorized_keys

并去掉前面的注释,重启sshd服务即可。