linux配置ssh并更改默认端口
各机器打通ssh
安装 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 模式)在其它机器上生成公钥、密钥,并将公钥文件复制到 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台机器的公钥了。将 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
验证
在每个虚拟机上,均用 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端口连接了!增强了系统的安全性。