为什么我通过SSH连接到服务器时出现“连接被拒绝”错误?
我用LAMP堆栈安装了Ubuntu 12.04.1 LTS。
我可以ping它,但当我尝试连接到它时,无法找到服务器。
当我尝试连接WinSCP时,我收到错误Network error: connection refused
。
我已经安装了openssh-server
和openssh-client
软件包但仍然无法连接。
这听起来像是防火墙问题。 这台机器是在不同网络或同一局域网上的物理防火墙后面吗? 如果它位于不同的网络上,请检查网关防火墙和主机防火墙( iptables ),并确保允许端口22。
为此,请按照以下说明操作:
-
以
root
用户身份登录。 -
打开
/etc/sysconfig/iptables
文件,输入:# vi /etc/sysconfig/iptables
-
查找如下所示的行:
COMMIT
-
要打开端口22(
ssh
),请输入(在COMMIT
行之前):-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-
保存并关闭文件。 重启防火墙:
# /etc/init.d/iptables restart
-
接下来检查以确保服务正在侦听。
-
尝试发出命令:
netstat -vatn | grep :22
netstat -vatn | grep :22
并查看端口22是否正在侦听。你也可以尝试:
netstat -vatn | grep ssh
这将负责基于主机的防火墙,但如果您和您尝试远程进入的计算机之间存在基于网络的防火墙,则必须查阅该特定设备的指令,以允许连接到端口22进入网络。