您的位置:首页 > 运维架构 > Linux

Centos6下SSH免密码连接配置

2017-08-12 23:14 288 查看
最近要在三台服务器上配置CDH集群,由于需要SSH免密码登录,由于三台服务器的SSH端口都指定了,网上找的很多资料都是使用默认的22端口,折腾了很久,都配置不成功,最终在不经意间想到了问题所在,解决了问题,现在将其配置记录如下。

1.修改/etc/hosts(每台机器上都要执行)



2.修改/etc/sysconfig/network(每台服务器上都要执行)

master服务器上的配置:



修改完成之后重启服务器。

3.修改SSH端口号(每台服务器上都要执行)

修改/etc/ssh/sshd_config文件,在文件中添加如下语句:

Port 30000


这里的端口号可以随意定义,但是要注意不要产生冲突,以便服务器对该端口号的监听。我这里的服务器是在搬瓦工上购买的VPS,SSH端口已经指定,而且三个端口号还不一致,为了让这三台服务器之间可以互相通过SSH登陆,我定义了一个统一的端口号:30000。然后重启该服务:

service sshd restart


修改/etc/ssh/ssh_config文件,在文件中添加如下语句:

Port 30000


需要注意的是,此处定义的作用是规定ssh访问时的端口号,而且,只能设置一个,所以如果之前文件中Port的定义,应先删除,在进行添加。

4.修改防火墙设置

由于安装cloudera manager需要关闭防火墙,所以这里直接关闭防火墙。

# 关闭防火墙
service iptables stop
# 永久关闭防火墙
chkconfig iptables off
# 查看防火墙关闭状态
service iptables status


如果不想关闭防火墙,可以只开放前面设置的端口号,只需在文件/etc/sysconfig/iptables中添加如下语句 ,然后再重启防火墙

# 打开端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000 -j ACCEPT


# 重启防火墙
service iptables restart


最后重启ssh服务

service sshd restart


5.生成密钥对(每台服务器上都要执行)

ssh-keygen -t rsa


此条命令执行完之后,会在/home/.ssh/文件夹下生成两个文件



为了避免重名带来的文件覆盖问题,将id_rsa.pub文件重命名为在network中定义的主机名(也可以任意)

mv id_rsa.pub master


6.在一台服务器上使用scp命令将其他两台服务器的公钥拷贝到/home/.ssh文件下

scp -P 30000 /home/.ssh/ slaver-80:/home/.ssh/slaver-80


其中30000是前面指定的端口,slaver-80是在/etc/sysconfig/network中定义的主机名,slaver-80是id_rsa.pub的重命名文件。

7.将3个公钥文件放入authorized_keys文件中

cat master >> authorized_keys;
cat slaver-80 >> authorized_keys;
cat slaver-190 >> authorized_keys;


8.将authorized_keys文件拷贝到其他两台服务器,命令参考第6条。

致此,完成SSH免密码登录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: