日期:2014-05-16  浏览次数:20787 次

linux 实现多机无密码ssh访问
步骤二:多机集群ssh配置
我的集群只有三台机器,将其取名为:node1, node2, node3。从map reduce计算的角度讲,node1作为master节点,node2和node3作为slave节点。从hdfs数据存储角度讲,node1作为namenode节点,node2和node3作为datanode节点。
1)、修改/etc/hosts文件
node1如下:
115.25.33.39 node1 node1
115.25.33.52 node2 node2
115.25.33.49 node3 node3
注意:上面的ip地址为每台机器当前实际分配的ip地址,所以不能照抄。Linux中查看本机ip地址的命令为:ifconfig
node2如下:
115.25.33.39 node1 node1
115.25.33.49 node3 node3
node3如下:
115.25.33.39 node1 node1
115.25.33.52 node2 node2

2)、配置从node1无需输入密码ssh登录node1、node2和node3
所有节点的用户名相同,本人统一为:andychen
在node1上配置无密码公钥认证过程如下:

[andychen@node1 ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/andychen/.ssh/id_rsa):   Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/andychen/.ssh/id_rsa. Your public key has been saved in /home/andychen/.ssh/id_rsa.pub. The key fingerprint is: 2e:57:e2:bf:fd:d4:45:5c:a7:51:3d:f1:51:3c:69:68 root@krusty04这个命令将为node1 上的当前用户 andychen 生成其密钥对,密钥对的保存路径使用缺省的 /home/andychen/.ssh/id_rsa, 要求输入 passphrase 的时候,直接回车。这样生成的证书以及公钥将存储在 /home/andychen/.ssh 目录,形成两个文件 id_rsa,id_rsa.pub。然后将 id_rsa.pub 文件的内容复制到每一台机器(包括本机 node1)的  /home/andychen/.ssh/authorized_keys 文件的尾部,如果机器上不存在  /home/andychen/.ssh/authorized_keys 文件,可以自行创建一个。请注意 id_rsa.pub 文件的内容是长长的一行,复制时需注意,不要遗漏字符或混入了多余换行符。

接下来可以做一下 SSH 连接测试,从 node1分别向 node1, node2, node3发起 SSH 连接请求,确保不需要输入密码就能 SSH 连接成功。 注意第一次 SSH 连接时会出现如下提示信息:

The authenticity of host [node1] can't be established. The key fingerprint is: 74:32:91:f2:9c:dc:2e:80:48:73:d4:53:ab:e4:d3:1a Are you sure you want to continue connecting (yes/no)?

请输入 yes, 这样 OpenSSH 会把连接过来的这台主机的信息自动加到 /home/andychen/.ssh/know_hosts 文件中去,第二次再连接时,就不会有这样的提示信息了。


本来走到这步应该是可以直接登录了,但是死活要再次输入密码;检查了n就发现

引用
耽误了我半天的时间:[nutch@linux2:.ssh]$ chmod 644 authorized_keys
这一步非常关键,必须保证[color=blue]authorized_keys只对其所有者有读写权限
,其他人不允许有写的权限,否则SSH是不会工作的

[nutch@linux2:.ssh] ls –la
drwxr-xr-x  2 nutch users 4096 11月  5 13:31 .
drwx------  3 nutch users 4096 11月  5 13:27 ..
-rw-r--r--  1 nutch users  222 11月  5 13:31 authorized_keys
注意每个机器上的.ssh目录的ls -la都应该和上面是一样的 [/color]