Centos6下SSH免密码连接配置

来源:互联网 发布:中经商品交易中心软件 编辑:程序博客网 时间:2024/05/16 07:35

最近要在三台服务器上配置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免密码登录。

原创粉丝点击