CentOS 7.4配置ssh免密登录及出现的问题

CentOS 7.4配置ssh免密登录及出现的问题

1 配置思路

通过RSA加密算生成了密钥,包括私钥和公钥,我们把公钥追加到用来认证授权的key中去。
每台机器配置本地免密登录,然后将其余每台机器生成的~/.ssh/id_dsa.pub公钥内容追加到其中一台主机的authorized_keys中,然后将这台机器中包括每台机器公钥的authorized_keys文件发送到集群中所有的服务器。这样集群中每台服务器都拥有所有服务器的公钥,这样集群间任意两台机器都可以实现免密登录了。
配置四台虚拟机
主机: master
从机: slave1
从机: slave2
从机: slave3
这四台虚拟机可以在VMware中配置好一台后进行复制,本篇所采用的的机器已经配置完jdk
注:如果机器配置不够,仅仅为了学习的话可以不用配置那么多虚拟机

2 第一台机器(master)的配置

注意留意命令所处的文件夹!!要不然容易出错。(.ssh目录)

2.1 生成公钥和密钥

// 生成公钥和密钥
ssh-keygen -t rsa

生成公钥和密钥

2.2 把公钥文件放入授权文件中

// 把公钥文件放入授权文件中
cat id_rsa.pub >> authorized_keys

把公钥文件放入授权文件中

2.3 写入认证文件

// 写入认证文件
scp ~/.ssh/authorized_keys slave1:~/.ssh/

注意这里写的是slave1不是主机名master
如果是在slave1这个节点为初始状态时(未进行任何的ssh操作之前,根目录下没有.ssh目录)此时需要手动在slave1节点上,进行一次ssh操作,如:ssh slave1
在slave1中创建.ssh文件然后再执行这个命令会得到
查看认证文件

3 第二台机器(node1)

3.1写入公钥和密钥

ssh-keygen -t rsa

生成公钥和密钥

3.2 同上设置

cat id_rsa.pub >> authorized_keys
scp ~/.ssh/authorized_keys slave2:~/.ssh/

此时可能会出现同上问题

4 第三台机器(node2)

//同样的设置 也会出现相同的问题 就会有相同的解决方法 此时你应该能熟练的解决这个问题了
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
scp ~/.ssh/authorized_keys slave3:~/.ssh/

5 第四台机器(node3)

ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys

scp ~/.ssh/authorized_keys master:~/.ssh/
scp ~/.ssh/authorized_keys slave1:~/.ssh/
scp ~/.ssh/authorized_keys slave2:~/.ssh/

6 免密检查

//注意自己当前所处的目录在哪
cat /.ssh/known_hosts

免密检查
如果没有的话,比如master没有,则需要在该机器上重新执行一下ssh master命令,让其生成以上信息即可。
ssh连接主机可生成known_hosts文件内容

7 在node4中测试连接

链接测试

8 可能出现的问题

8.1 如果# ssh master出现ssh: Could not resolve hostname ./id_rsa: Name or service not known

//检查能否ping从机的IP地址
ping 192.168.56.202

如果能ping通说明配置是没问题的

vi /etc/hosts

在hosts文件中加入IP地址和主机名,实现两者的映射关系

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.202 slave2

8.2 如果用ssh时 提示WARNING: POSSIBLE DNS SPOOFING DETECTED

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for www.163.net has changed,
and the key for the according IP address 158.252.167.117
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
11:8e:a8:b4:91:95:8b:15:82:b8:71:de:a7:c1:c0:aa.
Please contact your system administrator.
Add correct host key in /home/fuck/.ssh/known_hosts to get rid of this message.
Offending key in /home/fuck/.ssh/known_hosts:1
RSA host key for www.163.net has changed and you have requested strict checking.
Host key verification failed.

找到.ssh文件里的known_hosts文件

//在.ssh目录下执行删除操作然后再ssh即可
rm known_hosts

8.3 各虚拟机之间不能够免密登录

//在.ssh目录下将密钥拷贝到各个机器中
[root@node2 .ssh]# ssh-copy-id hadoop

根据引用的信息,当你在搭建集群过程中使用ssh连接主机时,可能会遇到"ssh: Could not resolve hostname master: Name or service not known"的报错。这个错误通常是由于主机名解析问题引起的。在你的情况下,你已经修改了主机名为"node1",但是还需要配置/etc/hosts文件才能解决这个问题。你需要将/etc/hosts文件中的"localhost.localdomain"替换为"node1",然后重启机器。这样,ssh连接应该就能成功了。 在引用中,提到了使用松弛应用来运行SSH命令的相关要求。在这个问题中,你遇到的错误与这个引用中提到的松弛应用的配置无关,所以你可以忽略这个引用。 总结来说,你遇到的"ssh: Could not resolve hostname master: Name or service not known"的错误是由于主机名解析问题引起的。通过修改/etc/hosts文件,将"localhost.localdomain"替换为"node1",然后重启机器,你应该能够成功连接到主机了。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Linux-SSH报错:Could not resolve hostname node1: Name or service not know](https://blog.csdn.net/qq_16018407/article/details/52981914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [slack-to-ssh:从Slack交互式消息按钮运行SSH命令](https://download.csdn.net/download/weixin_42120405/16625244)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值