为什么通过 SSH 连接到服务器时会收到“连接被拒绝”错误?

为什么通过 SSH 连接到服务器时会收到“连接被拒绝”错误?

我已经使用 LAMP 堆栈在其上安装了 Ubuntu 12.04.1 LTS。

我可以 ping 它,但是当我尝试连接它时却找不到服务器。

当我尝试连接温SCP我收到错误Network error: connection refused

我已经安装了openssh-serveropenssh-client包,但仍然无法连接。

答案1

我觉得这听起来像是防火墙问题。这台机器是否位于不同网络或同一 LAN 上的物理防火墙后面?如果它位于不同的网络上,请检查网关防火墙和主机防火墙(iptables)并确保端口 22 已允许

为此,请按照以下说明操作:

  1. root用户身份登录。

  2. 打开/etc/sysconfig/iptables文件,输入:

    # vi /etc/sysconfig/iptables
    
  3. 找到如下行:

    COMMIT
    
  4. 要打开端口 22 ( ssh),请输入(COMMIT行前):

    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    
  5. 保存并关闭文件。重新启动防火墙:

    # /etc/init.d/iptables restart
    
  6. 接下来检查以确保服务正在监听。

  7. 尝试发出以下命令:

    netstat -vatn | grep :22看看端口 22 是否正在监听。

    您还可以尝试:

    netstat -vatn | grep ssh
    

这将处理基于主机的防火墙,但如果您和您尝试远程进入的机器之间存在基于网络的防火墙,那么您将必须查阅该特定设备的说明,以允许连接到端口 22 进入网络。

相关内容