问题:虚拟机Ping主机正常,主机Ping虚拟机超时,Finalshell远程连接虚拟机超时

前提提要

期末了,大数据的老师要求交一份网站数据日志分析的项目,故于2024年12月23日打开了落灰已久的vmware。因为在vmware操作虚拟机十分憋屈,故借助finalshell想远程连接一下虚拟机。尝试连接的时候出现java.net.ConnectException: Connection timed out: connect。距离我上一次使用finalshell已过半个月之久,想不明白咋突然就请求超时了。

但还是硬着头皮排查。

第一步:查看防火墙状态

#在打开的虚拟机中,输入此命令

firewall-cmd --state

 我的防火墙并没有开启。如果大家的防火墙开启,请参考以下内容关闭防火墙

# 1.关闭防火墙

systemctl stop firewalld

# 2. 再次查看防火墙状态

firewall-cmd --state

# 3.如果出现not runing表示命令生效

# 4.重启机器

reboot

 第二步:查看虚拟机的相关服务是否开启

window中打开“服务”

确保以下服务都是开启状态

 如果已经开启了,请继续看下一步,继续排查

第三步:查看网络适配器

window系统中打开“设备管理器”

 确保vmware的两个适配器正常,没有感叹号。如果有,请参考这篇文章。VMware虚拟网卡网络适配器出现黄色感叹号(多种解决方法)_vmware virtual ethernet 感叹号-优快云博客icon-default.png?t=O83Ahttps://blog.youkuaiyun.com/m0_62332728/article/details/134319697因为我的适配器正常,所以没有跟着试。

第四步:查看虚拟机的ssh服务是否正常运行

systemctl status sshd


我的服务是开启的,如果大家的没开启,请先用以下命令开启

# 1.开启sshd服务

systemctl start sshd

# 2.编辑sshd的配置文件,如果有以下的配置项,请解开相关注释

Port :22

PermitRootLogin:yes

# 3.重启服务

systemctl restart sshd

 如果还是不行,请继续看

第五步:查看主机下虚拟机的适配器配置

虚拟机Ping主机成功,ping百度成功,ping自己成功

主机Ping虚拟机失败,请求超时

window系统下"win+r"打开黑窗口,输入"ipconfig"查看网络服务

# 虚拟机中查看ip信息

ip addr

 信息如下

 从以上两张图可以看出Ip地址以及默认网关网段配置都不正确。

解决:

 根据虚拟机的配置使用指定的ip地址、子网掩码和默认网关。

 此时主机终于Ping通了虚拟机。finalshell也正常连接到虚拟机了。

总结:

多亏了互联网让我很快定位到了问题,我在第四步的时候卡住了,但多多尝试!finalshellping不通,我就让虚拟机主机互ping,结果找到了一个问题,换了一种问法,这个问题就被解决啦。所以大家一定要多多尝试,不管3721,先试了再说!

至于为什么会产生这个问题,可能是因为前些天,edge更新后,微软账号无法正常登录。跟着网络的教程动了一些网络配置。

### FinalShell 登录密码问题解决方案 #### 修改 SSH 配置文件 对于在使用 FinalShell 远程连接 Ubuntu 虚拟机时遇到的持续提示输入密码的问题,可以通过编辑 SSH 的配置文件来解决。具体操作是在虚拟机内部通过终端切换到 root 用户权限下,利用 `vim` 编辑器打开 `/etc/ssh/sshd_config` 文件,并确保其中的 `PermitRootLogin yes` 行未被注释掉[^3]。 ```bash su root # 输入root用户的密码 vim /etc/ssh/sshd_config ``` 在该配置文件中查找 `PermitRootLogin` 参数,如果其前有 `#` 符号,则表示此行已被注释,需移除 `#` 并将其后的值设置为 `yes` 来允许 root 用户登录[^4]。 完成上述更改后,保存并关闭文件,随后执行命令重启 SSH 服务使新的配置生效: ```bash systemctl restart sshd ``` #### 正确填写用户名 另外一个重要因素在于用户名大小写的准确性。当创建用户账户时所使用的字母大小写应当严格匹配于 FinalShell 中设定的信息;即便实际注册名是以大写字母为首字符,在某些情况下也需要全部转换成小写字母形式录入才能顺利完成认证过程[^2]。 #### 使用密钥验证代替密码验证 除了调整服务器端参数外,还可以考虑采用更安全的方式——公私钥对来进行身份校验。这种方式不仅提高了安全性而且免去了频繁手动键入密码带来的不便。首先要在客户端生成一对SSH密钥(通常位于用户家目录下的 `.ssh/id_rsa.pub` 和 `.ssh/id_rsa`),接着将公钥复制粘贴至目标主机相应位置即 `/home/user/.ssh/authorized_keys` 或者 `/root/.ssh/authorized_keys` 下面[^1]。 综上所述,针对 FinalShell 登录过程中不断要求提供密码的情况,建议按照以上方法逐一排查原因并对症处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值