各机器打通ssh

  1. 安装 ssh(hadoop 用户)
    mkdir .ssh #( __创建的.ssh目录的权限必须是 700__,否则会导致ssh不通 )
    ssh-keygen -t rsa
    cat .ssh/id\_rsa.pub >> .ssh/authorized\_keys
    chmod 600 .ssh/authorized_keys #(修改文件权限,否则不起作用 ) 必须为600
    执行完以后,可以在本机上测试下,用 ssh连接自己,即:ssh localhost (或 ssh master),如果不幸还是提示要输入密码,说明还没起作用( ssh user@hostname –v 是debug 模式

  2. 在其它机器上生成公钥、密钥,并将公钥文件复制到 master
    a) 以 hadoop身份登录其它二台机器 slave01、 slave02,执行 ssh-keygen -t rsa -P '' 生成公钥、密钥
    b) 然后用 scp命令,把公钥文件发放给 master(即:刚才已经搞定的那台机器)
    slave01上:
    scp .ssh/id\_rsa.pub hadoop@master:/home/hadoop/id\_rsa\_01.pub
    slave02上:
    scp .ssh/id\_rsa.pub hadoop@master:/home/hadoop/id\_rsa\_02.pub
    这二行执行完后,回到master中,查看下 /home/hadoop目录,应该有二个新文件 id_rsa_01.pub、id_rsa_02.pub ,然后在 master上,导入这二个公钥
    cat id\_rsa\_01.pub >> .ssh/authorized_keys
    cat id\_rsa\_02.pub >> .ssh/authorized_keys
    这样,master 这台机器上,就有所有 3台机器的公钥了。

  3. 将 master上的“ 最全”公钥,复制到其它机器
    a) 继续保持在 master上,
    scp .ssh/authorized\_keys hadoop@slave01:/home/hadoop/.ssh/authorized\_keys
    scp .ssh/authorized\_keys hadoop@slave02:/home/hadoop/.ssh/authorized\_keys
    b) 修改其它机器上 authorized_keys文件的权限
    slave01以及 slave02机器上,均执行命令
    chmod 600 .ssh/authorized_keys

  4. 验证
    在每个虚拟机上,均用 ssh 其它机器的 hostname 验证下,如果能正常无密码连接成功,表示 ok

改默认端口

(防火墙关闭状态)
cp /etc/ssh/ssh\_config /etc/ssh/ssh\_configbak
cp /etc/ssh/sshd\_config /etc/ssh/sshd\_configbak

修改ssh端口为:2222
vi /etc/ssh/sshd_config
在端口#Port 22下面增加Port 2222
vi /etc/ssh/ssh_config
在端口#Port 22下面增加Port 2222

重启:
/etc/init.d/sshd restart
service sshd restart

用2222端口可以正常连接之后,再返回去重复上面的步骤。把22端口禁用了,以后ssh就只能用2222端口连接了!增强了系统的安全性。