前言:周末一早来打开电脑,打开虚拟机,开始今天的任务。连接虚拟机…??? Connection timed out ???什么鬼???昨天不是还好好的吗???别搞我啊???问题不大,有问题就解决嘛!!!
愉快的周末从解决bug开始,解决了就愉快,搞半天还不行,简直就是搞心态!!!愉不愉快不知道,反正挺快的,解决免登,半天就过去了。我愉快的周末啊!!!

在CSDN搜搜

面对这个问题,connect to host xxxxxx port 22: Connection timed out
首先,在CSDN搜搜,有相同的问题且成功解决的案例不就省事儿了嘛在这里插入图片描述
按照某博主的方法,
ping ip
(补充:使用ping命令,检测三台虚拟机之前是否可以互相通信。这一点非常重要,如果虚拟机之间无法通信,在后续的集群使用中会出现问题。
如果出现无法连接,按照以下方面进行问题检查

  1. 检查IP地址
  2. 检查host文件映射
  3. 检查防火墙是否关闭
    ssh 主机名不行,直接ssh IP地址
ssh ip地址

Are you sure you want to…?(yes/no) 直接 yes
不出意外,连上了,是解决了,但又好像没完全解决。
在这里插入图片描述
不能ssh 主机名,还要输入yes确认,手动操作这和密码登录有区别?麻烦!不过好在发现了问题所在:连接时出现ECDSA key密钥对不同,问题就出现在这里了!

发现根本问题

ECDSA key密钥对不同,接下来就是一顿操作:

设置免密登录

ssh-keygen -t rsa 生成公钥和私钥 一路enter,若已经存在,是否覆盖yes/no 选yes
ssh-copy-id 主机名
将公钥拷贝到本机以及其他虚拟机,输入登录密码。如果没有ssh-copy-id这个命令,可以自己安装

yum install openssh-clients-y

现在只实现了一台虚拟机单向连接另外两台虚拟机,实现三台机器彼此连接按照上述步骤:生成公钥,拷贝公钥即可。

后续问题

如果出现
/usr/bin/ssh-copy-id: ERROR: ssh: connect to host 主机名 port 22: Connection refused
主机名换成IP地址,选择yes,一路enter
如果还不行,检查三台,三台,三台主机映射!!!!
重启虚拟机,重新建立连接
试试能不能免密登录,若不能,再次执行免密步骤!!!

步骤总结
  1. 检查主机名(临时+永久)
  2. 检查网卡是否启动
  3. 关闭NetworkManager⽹络管理服务
  4. 关闭防火墙
  5. 更改IP地址
  6. 更改主机名和主机映射
  7. 使⽤远程连接工具(MobaXterm、FinalShell)进行连接
  8. 如果出现问题,按照以上流程检查
SSH简介

1 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定
2 SSH 为建立在应用层基础上的安全协议。
3 SSH 专为远程登录会话和其他网络服务提供安全性的协议,可以有效防止远程管理过程中的信息泄露问题。
4 SSH 由客户端和服务端两部分组成。服务端是⼀个sshd进程,提供密钥认证、密钥交换等处理。客户端包含 SSH程序以及scp(远程拷⻉)、slogin(远程登陆)、sftp(安全文件传输)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐