问题描述
系统为CentOS7 64位 一向能够正常连接
在某次使用FinalShell进行远程SSH连接时 突然无法连接
对问题原因猜测及尝试
1.dns解析失效
发现显示DNS无法解析,可以得知是使用了主机名登录,而主机名无法登录.
遂查看host文件.host文件因不知名原因被清空,重新恢复后该问题解决.然而依然无法连接
2.尝试直接连接
接下来显示java.net.ConnectException: Connection timed out: connect
即连接超时错误
使用ifconfig命令查看本机ip地址
[failur@ff ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.88.130 netmask 255.255.255.0 broadcast 192.168.88.255
inet6 fe80::54dc:f9bd:db8a:56b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:f5:44:28 txqueuelen 1000 (Ethernet)
RX packets 39 bytes 8855 (8.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 82 bytes 8981 (8.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:bd:d4:45 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
使用实体机ping该ip
C:\Users\Failur>ping 192.168.88.130
正在 Ping 192.168.88.130 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。
192.168.88.130 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
发现已经无法连接到虚拟机
尝试使用finalshell直接连接主机 发现依然无法连接
3.查看虚拟机SSH服务以及测试防火墙
使用命令查看SSH服务是否开启
[failur@ff ~]$ systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since 一 2024-04-01 20:13:25 CST; 51s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 7080 (sshd)
Tasks: 1
CGroup: /system.slice/sshd.service
└─7080 /usr/sbin/sshd -D
发现正常运行
4.还原可用时的快照
将该虚拟机还原至之前能够正常进行远程连接的快照
依然无法连接,因此可以基本排除虚拟机内部的错误
5.IP地址冲突
怀疑ip地址冲突,尝试更改虚拟机固定ip
首先在VMware中更改网络配置
菜单栏-编辑-虚拟网络编辑器
使用管理员权限更改网络设置
将Subnet IP的值更改为其他段
暂更改为192.168.99.0
接着进入DHCP Settings中
将第三个字段全部改为99
点击保存 退出
接着进入虚拟机
vim编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改此行
BOOTPROTO="static"
#添加四行
IPADDR="192.168.88.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
然后重启网络配置
systemctl restart network
完成!
接下来ping一下试试!
C:\Users\Failur>ping 192.168.99.130
正在 Ping 192.168.99.130 具有 32 字节的数据:
来自 192.168.99.130 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.99.130 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.99.130 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.99.130 的回复: 字节=32 时间<1ms TTL=64
192.168.99.130 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
大功告成!!!
修改host文件后
再使用FinalShell连接 发现可以正常连接了
愉快