正确解决finalshell连接虚拟机报错:java.net.ConnectException: Connection refused: connect

博客主页:Skylar Lin
望本文能够给您带来一定的帮助,如果有错误的地方敬请斧正!
新人博主,希望多多支持,还有好多库存和大家分享。
转载需注明出处和原作。

前言

从大二上学期就下载了 finalshell,不过当时一直连接不上 virtualbox 的虚拟机,网上找了好几篇文章,都没有解决,因为其中有的文章解决的是连接超时的问题,有的现在看来可能是版本的问题,药不对症,就没能解决。

当时学习、工作比较忙碌,所以就一拖再拖,现在好好总结一下解决方法。

FinalShell报错

在这里插入图片描述
这个错误表示你尝试连接到的服务器(虚拟机)拒绝了连接请求,通常由于以下几个原因造成:

  1. 服务器上没有运行 SSH 服务。
  2. 服务器防火墙阻止了连接请求。
  3. 网络问题导致连接请求未到达服务器。

一. 检查 SSH 服务

对于第一个问题,可能是由于虚拟机没有安装 SSH 服务,你可以使用以下命令来安装它:

sudo apt-get update
sudo apt-get install openssh-server

如果你确定虚拟机已安装 SSH 服务,那么可以通过 sudo service ssh status 命令来检查 SSH 服务是否正在运行:

  • 如果 SSH 服务正在运行,你应该会看到类似于 “active (running)” 的输出;
  • 如果SSH服务没有运行,你可以使用 sudo service ssh start 命令来启动它。

二. 检查防火墙

你可以使用 iptablesufw(Uncomplicated Firewall)来管理防火墙规则。命令如下:

  1. 使用 sudo iptables -L 命令,查看当前的防火墙规则;
    如果看到 SSH 端口(22)被阻止,则可以使用以下命令允许连接:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  2. 使用 sudo ufw status 命令,查看当前的防火墙状态;
    如果看到 SSH 端口(22)被阻止,则可以使用以下命令来允许连接:

    sudo ufw allow 22
    

    如果你想将更改默认端口号,则将对于的号码修改即可。

三. 查看网络状况

对于这一点的话,只需要检查一下网络状况是否正常,在命令行上 ping 一下虚拟机的 ip 地址,看看能否 ping 通;并且检查一下虚拟机的网络设置,确保是“桥接网卡”即可。

正确解决finalshell连接虚拟机报错:java.net.ConnectException: Connection refused: connect_第1张图片

成功连接

按照以上方法检查过后,FinalShell 就可以顺利连接虚拟机了!
正确解决finalshell连接虚拟机报错:java.net.ConnectException: Connection refused: connect_第2张图片

你可能感兴趣的:(#,工具,服务器)