1, 实现无密码公钥认证的目的是为了使Slave无密码链接(DATa Node | Tasktracker)服务器达成共识:
2, 检查是否安装ssh和rsync服务(一般情况下是有的,若没有的话,可通过 命令【yum install ssh 】安装ssh协议,命令【yum install rsync】 rsync:远程数据同步工具,可以通过LAN/WAN 快速同步多台 主机间同步多台主机间的文件.命令【service sshd restart】启动服务)
命令【rpm -qa | grep openssh
显示如下:
openssh -clients-5.3p1-20.e16.i686
openssh-server-5.3p1-20.e16.i686
openssh-5.3p1-20.e16.i686
命令【rpm -qa | grep rsync】
rsync-3.0.6-5.e16.i686 3,SSH无密码登录的原理
Master(NameNode |JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器 Salve(DataNode | Tasktracker)上时,需要在 Master 上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的 Slave 上。当 Master 通过 SSH 连接 Salve 时,Salve 就会生成一个随机数并用 Master 的公钥对随机数进行加密,并发送给 Master。Master 收到加密数之后再用私钥解密,并将解密数回传给 Slave,Slave 确认解密数无误之后就允许 Master 进行连接了。这就是个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端 Master 复制到 Slave 上。
4,在master上执行(过程中一直回车即可)
命令:【ssh-keygen -t rsa】
Generating public/private rsa key pair.
Enter file in which to save the key (/home/haifeng/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/haifeng/.ssh/id_rsa.
Your public key has been saved in /home/haifeng/.ssh/id_rsa.pub.
The key fingerprint is:
7b:75:98:eb:fd:13:ce:0f:c4:cf:2c:65:cc:73:70:53 haifeng@haifeng-EX38-DS4
The key's randomart image is:
+--[ RSA 2048]----+
| E|
| .|
| ...|
| + =.|
| S + +.*|
| . . + Bo|
| . . . = =|
| . . . * |
| . ..=|
+-----------------+
4,查询是否产生的ssh文件
命令【ll -a | grep .ssh】
drwx-------. 2 root root 4069 5月 30 14:45 .ssh
5 查看钥匙
命令【 ls ~/.ssh/】
-rw--------. 1 root root 4069 5月 30 14:45 .id_rsa
-rw-r--r--. 1 root root 4069 5月 30 14:45 .id_rsa.pub
6,把自己的公钥放在authorized_keys ,(注意其命令的 >>前为 本机的公钥的位置)
命令【cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys】
7,查询
命令【ll】
显示
-rw-rw-r---. 2 root root 4069 5月 30 14:50 authorized_keys
-rw--------. 1 root root 4069 5月 30 14:45 .id_rsa
-rw-r--r--. 1 root root 4069 5月 30 14:45 .id_rsa.pub8,更改authorized)keys的权限
命令【 chmod 77 authorized_keys】
再次查询
命令【ll】
-rw-rw-rw--. 2 root root 4069 5月 30 14:50 authorized_keys
-rw--------. 1 root root 4069 5月 30 14:45 .id_rsa
-rw-r--r--. 1 root root 4069 5月 30 14:45 .id_rsa.pub
-rw-r--r--. 1 root root 4069 5月 30 14:45 .known_hosts
9,检查并更改ssh的配置,检查以下的三行是否是yes的启动状态
RSAAuthentication yes #启动RSA认证
PukeyAuthentication yes #启动公钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径10,直接使用root用户进行检查是否可以无密码登录本地
命令【ssh localhost】
11。 把主机点的公钥复制至所有节点的机器上。
命令格式:【scp ~/.ssh/id_rsa.pub】:远程用户名@172.21.3.73:~/
12.在节点的机器上分别执行在在主机上执行的2-10的步骤
并把节点产生的节点一个一个的加入主机节点的Authorized_keys
13,在节点上执行
命令【cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys】
15,所有节点配置完成。开始检查(不要忘记检查防火墙的状态)
命令【ssh 主机名(或ip)】
不用使用密码登录即ssh配置成功。
16,吃饭了!!!!!!!