Xshell连接虚拟机失败的解决方法(仅学习)

等等,我上次在公司就遇到过这种事,相当令人不安。
那天下午三点,我坐在工作站前,想要远程调试一台新部署的服务器。
突然弹出一个窗口,说连接失败。
屏幕上显示“连接失败”,我的心猛地一跳。

我抓起水杯,走到茶室去喝杯热水。
这间办公室的空调太好了,我需要暖手。
我盯着电脑屏幕,手指无意识地敲击着键盘。
我得先检查一下日志。
我打开浏览器,搜索“Xshell连接失败”。
网页上弹出的解决方案与我刚刚看到的步骤类似。
有哥们说他重启了虚拟机,IP地址就变了。
结果,Xshell中使用了旧IP。

我回到座位,打开虚拟机控制台。
命令行界面闪烁着微弱的蓝光,我输入了ifconfig。
屏幕上滚动出一行行字符。
我眯着眼睛查找,发现IP地址是1 9 2 .1 6 8 .1 .1 01 ,与Xshell中填写的不符。
我记下来,返回Xshell,将主机更改为这个新IP,确保用户名和密码正确,然后单击连接。
这次“连接成功”,我松了口气。

突然想起一位老同事说他遇到了端口冲突。
那家伙手艺很高,只是夏天总喜欢穿花衬衫打领带。
我不太记得他是怎么解决的,但后来他只是换了电脑。
等等,好像和虚拟机没有插上有关,那是另外一个故事了。

现在虚拟机已连接,我准备打开 SSH 客户端。
您需要再次确认防火墙。
如果您在命令行中输入 service iptables status 并且它显示“正在运行”,那就很好。
突然觉得从事IT工作有时就像修钟一样。
如果螺丝没有拧紧,则必须重新开始。

Xshell 6/finalshell 连接本地VM虚拟机Linux Ubuntu 出现的问题汇总

连接超时: SSH 服务未启动。
运行 sudo service ssh status 进行检查。
端口 2 2 未监听。
使用 sudo netstat -tulnp | 检查grep ssh。
防火墙块。
检查 sudo ufw 状态,端口 2 2 sudo ufw 允许 2 2 允许。
NAT模式需要转发。
主机的端口转发到虚拟机的2 2 端口。
桥接模式类似于网段。
IP 可以互相 ping 通 1 9 2 .1 6 8 .x.x。
只有主机模式是在同一网络上。
虚拟机位于主机的虚拟网络中。

连接未被接受: 未安装 SSH 服务。
运行 sudo apt update && sudo apt install openssh-server 进行安装。
配置文件错误。
使用 sudo nano /etc/ssh/sshd_config 检查端口 2 2 PermitRootLogin 是 允许 root。
密码验证 是 允许密码。
更改后重新启动服务:sudo service ssh restart。

权限被拒绝: 用户没有权限。
检查 sudo nano /etc/ssh/sshd_config 以确保密码验证为 yes。
密钥登录需要公钥。
将其输入 ~/.ssh/authorized_keys 中。
密码错误 Ubuntu 默认禁用 root 密码,使用 sudo passwd root 来设置(不推荐)。
使用 sudo 添加权限。

查找虚拟机IP: 执行ip a或ifconfig查看ens3 3 /eth0网卡IP 1 9 2 .1 6 8 .x.x。
Xshell/FinalShell 连接: 创建新会话IP 1 9 2 .1 6 8 .1 .1 00,端口2 2 (相应调整)。
选择身份验证方法的密码或密钥。
测试连接并检查是否有错误。
其他常见问题解答: SSH 崩溃。
执行 sudo Journalctl -u ssh --no-pager 来验证日志。
端口冲突。
将 sshd_config 端口更改为 2 2 2 2 ,并更改防火墙。
最终 shell 密钥。
连接设置指定 PEM 或 OpenSSH 格式的私钥路径。

称一下体重。