bah*_*dso 49 server ssh remote-access port-forwarding
所以我试图让 ssh 在我的服务器上工作。我可以在我的本地网络上使用服务器的本地 ip 地址完全正常连接。当我尝试远程连接(通过我为服务器设置的域名,我知道它有效)时,我收到此连接被拒绝的错误:
ssh: connect to host bahhudson.mine.nu port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)
从我对这个问题所做的研究来看,我的路由器似乎出了点问题。我已经配置了端口转发,但这是我能想到的唯一导致“拒绝连接”错误的想法......我的路由器是 WRT120N,我已经将它配置为基于Portforward.com 的端口转发,这似乎有些过时因为其中一些图像与我的路由器设置不完全相同,但是我尝试了多种设置端口转发的方法,并且我知道端口 80 的转发有效,因为我的服务器具有正常工作的 HTTP 访问...
VPN 访问也以我认为类似的方式被阻止,因此 SSH 端口 22 被阻止的解决方案也可能类似于 VPN 被阻止的解决方案。
有任何想法吗?
谢谢!
San*_*ndy 34
只是为了分享。(可能有不同的配置)
就我而言,我发现可能会发生该错误,因为我尚未openssh-server
在另一台机器上安装。
我在另一台机器上安装openssh-server后,问题:
ssh: connect to host 192.168.XXX.XXX port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)
解决了。
小智 28
首先检查openssh-server
安装在那个系统中。
检查 ssh 服务的状态,使 ssh 服务启动。
sudo service ssh status
sudo service ssh start
Run Code Online (Sandbox Code Playgroud)检查iptables
该系统是否阻止了端口 22。只需允许端口进入iptables
然后检查。
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
Run Code Online (Sandbox Code Playgroud)否则ssh
通过编辑将端口号从 22更改为 2222
vi etc/ssh/sshd_config
/etc/init.d/ssh restart.
Run Code Online (Sandbox Code Playgroud)ish*_*ish 27
您的 ISP 可能会阻止连接到端口 22(您或您的路由器对此无能为力)。只需将 SSHd 设置为在不同的端口上运行,例如 2222。
在 中/etc/ssh/sshd_config
,更改Port 22
为Port 2222
,然后sudo service ssh restart
。端口转发 2222(或其他),然后重试。
小智 7
检查 SSH 服务状态,如果停止则启动 SSH 服务:
sudo service ssh status
Run Code Online (Sandbox Code Playgroud)
在我的情况下,SSH 已停止,但在启动服务后:
sudo service ssh start
Run Code Online (Sandbox Code Playgroud)
我可以远程登录Linux。
我通过重新安装openssh-server解决了这个问题,如下所示:
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)