前言:周末一早来打开电脑,打开虚拟机,开始今天的任务。连接虚拟机…??? Connection timed out ???什么鬼???昨天不是还好好的吗???别搞我啊???问题不大,有问题就解决嘛!!!
愉快的周末从解决bug开始,解决了就愉快,搞半天还不行,简直就是搞心态!!!愉不愉快不知道,反正挺快的,解决免登,半天就过去了。我愉快的周末啊!!!
在CSDN搜搜
面对这个问题,connect to host xxxxxx port 22: Connection timed out
首先,在CSDN搜搜,有相同的问题且成功解决的案例不就省事儿了嘛
按照某博主的方法,
ping ip
(补充:使用ping命令,检测三台虚拟机之前是否可以互相通信。这一点非常重要,如果虚拟机之间无法通信,在后续的集群使用中会出现问题。
如果出现无法连接,按照以下方面进行问题检查
- 检查IP地址
- 检查host文件映射
- 检查防火墙是否关闭)
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
如果还不行,检查三台,三台,三台主机映射!!!!
重启虚拟机,重新建立连接
试试能不能免密登录,若不能,再次执行免密步骤!!!
步骤总结
- 检查主机名(临时+永久)
- 检查网卡是否启动
- 关闭NetworkManager⽹络管理服务
- 关闭防火墙
- 更改IP地址
- 更改主机名和主机映射
- 使⽤远程连接工具(MobaXterm、FinalShell)进行连接
- 如果出现问题,按照以上流程检查
SSH简介
1 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定
2 SSH 为建立在应用层基础上的安全协议。
3 SSH 专为远程登录会话和其他网络服务提供安全性的协议,可以有效防止远程管理过程中的信息泄露问题。
4 SSH 由客户端和服务端两部分组成。服务端是⼀个sshd进程,提供密钥认证、密钥交换等处理。客户端包含 SSH程序以及scp(远程拷⻉)、slogin(远程登陆)、sftp(安全文件传输)
更多推荐