1. 前期准备:
检查是否安装了SSH服务和rsync服务(rsync是一个远程数据同步工具,可以通过LAN/WLAN快速同步多台主机之间的文件)
rpm -qa | grep openssh
rpm -qa | grep rsync
我的Centos 5.6下的显示:
如果没有安装则执行一下安装:
yum install ssh
yum install rsync
service sshd restart 启动服务
1. SSH无密码验证的原理
Master作为客户端,要实现无密码公钥认证,连接到服务器Slave上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH链接到Slave上时,Slave会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,期间不需要手工输入密码,重要的过程是将Master上产生的公钥复制到Slave上。
2. 实际操作过程
3.1 Master实现无密码登录Slave
1> 以root用户登录,更改SSH的配置文件
vim/etc/ssh/sshd_config






就会自动把B上的文件:~/.ssh/id_rsa.pub 文件拷贝到nodeA的~/.ssh/下,并且命名为authorized_keys.



一、公钥和私钥
在构建无密码登陆之前说明:ssh的密码是加密的,分为公钥和私钥
公钥是给别人的,私钥是自己留着的
公钥加密的东西,用私钥解
私钥加密的东西,用公钥解
如果B想无密码登陆到A。
B 产生自己本机的公钥和私鈅,并且把公钥给A,当B登陆到A时,B上的私鈅会解读A上面的公钥。
二、B产生公、私鈅
在B上运行如下的命令:
$ ssh-keygen -t rsa #### -t 表示加密的方式 rsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase): (直接回车)
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
82:0c:91:f4:61:d0:03:52:e0:86:6a:66:77:f7:d0:40 userB@nodeB
2、在B的主目录下:.ssh/产生2个文件id_rsa id_rsa.pub 其中:id_rsa.pub就是公钥。
3、在B上运行如下的命令
$ ssh-copy-id -i userA@nodeA
就会自动把B上的文件:~/.ssh/id_rsa.pub 文件拷贝到nodeA的~/.ssh/下,并且命名为authorized_keys. ***
4、在A上运行如下的命令
$cd /root/.ssh/
$cat id_rsa.pub >>authorized_keys
这样B即可利用自己的公钥来访问A,实现无密码登陆到A。