问题描述
所以我试图让 ssh 在我的服务器上工作。我可以使用服务器的本地 IP 地址完美连接我的本地网络。当我尝试远程连接时(通过服务器的域名 set-up,我知道这是有效的)我收到此连接被拒绝的错误:
ssh: connect to host bahhudson.mine.nu port 22: Connection refused
从我对问题所做的研究来看,我的路由器似乎出了问题。我已经配置了 port-forwarding,但这是我唯一认为会导致 “Connection Refused” 错误的想法……我的路由器是 WRT120N,我已经根据 Portforward.com 为 port-forwarding 配置了它,这似乎有些过时,因为其中一些图像并不完全像我的路由器设置是什么样的,但我已经尝试了多种方法来设置端口转发,而且我知道端口 80 的转发是有效的,因为我的服务器具有正在运行的 HTTP 访问…
VPN 访问也以我认为类似的方式被阻止,因此 SSH 端口 22 被阻止的解决方案也可能与 VPN 被阻止的解决方案类似。
有任何想法吗?
谢谢!
最佳回答
只是为了分享。 \n(可能有不同的配置)
就我而言,我发现可能会发生该错误,因为我没有在另一台机器上安装 openssh-server
。
我在另一台机器上安装openssh-server后,出现问题:
ssh: connect to host 192.168.XXX.XXX port 22: Connection refused
解决了。
次佳回答
-
首先检查安装在该系统中的
openssh-server
。\n -
检查ssh服务状态,使ssh服务启动。
\n
sudo service ssh status \n sudo service ssh start\n
\n
-
检查该系统中的端口 22 是否被
iptables
阻塞。只需在iptables
中允许端口,然后检查。\n
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT\n
\n
-
否则通过编辑将
ssh
的端口号从 22 更改为 2222\n
vi /etc/ssh/sshd_config \n /etc/init.d/ssh restart.\n
\n
第三种回答
您的 ISP 可能会阻止与端口 22 的连接(您或您的路由器对此无能为力)。只需将 SSHd 设置为在不同的端口上运行,例如2222。
在 /etc/ssh/sshd_config
中,将 Port 22
更改为 Port 2222
,然后更改为 sudo service ssh restart
。端口转发 2222(或其他),然后重试。
第四种回答
我通过如下重新安装 openssh-server 解决了这个问题:
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
第五种回答
检查SSH服务状态,如果SSH服务停止,则启动SSH服务:
sudo service ssh status
在我的例子中,SSH 已停止,但在启动服务后:
sudo service ssh start
我可以远程登录Linux。