ssh连接被拒绝:如何解决?


17

我正在努力:

$ ssh eric@myserver

myserver内联网中的机器在哪里?我可以myserver在端口8080等上ping 或响应HTTP,但是当我尝试时ssh,我得到了

ssh: connect to host myserver port 22: Connection refused

我正在使用Ubuntu 10。

ps -ax,建议如下:

eric@Isaiah:~$ ps -ax | grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
 1641 ?        Ss     0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session
18376 pts/3    S+     0:00 grep --color=auto ssh

Answers:


15

您没有运行SSH守护程序。如果您查看ps ax命令的输出,则会看到描述中仅有两个带有ssh的进程ssh-agent(其功能与完全不同sshd)和grep ssh用于过滤的输出的进程ps

根据安装的发行版,您可能需要安装或运行ssh服务器(通常称为openssh-serversshd取决于软件包管理器)。


13

调试上述问题的步骤:

  1. 使用nmap工具知道在该服务器中打开了哪些端口。nmap是端口扫描程序。由于ssh服务器可能在其他端口上运行。 nmap将为您提供开放端口的列表。

     $ nmap myserver
    

2。现在,您可以检查给定端口上正在运行的服务器。假设在nmap的输出中,端口2424已打开。现在,您可以使用nc(netcat)工具在2424上运行哪个服务器。

 $ nc -v -nn myserver portno

假设2424端口的输出为:

myserver 2424 open
SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5

这意味着ssh在2424上运行。

继续在上述命令中更改portno,并检查nmap列出的所有打开的端口。


3

这意味着ssh服务器未在该计算机上运行,​​或者防火墙不允许ssh通过。您可以检查ssh是否与'ps -ax |运行。grep ssh”。


已编辑问题以显示的结果ps -ax。不知道这意味着什么。
埃里克·威尔逊

1
这意味着ssh没有运行。
David Schwartz

1
奇怪的。我不确定为什么您现在两次都提供了真正没有帮助的帮助。首先,您建议一个有用的命令来检查ssh是否正在运行,而无需告诉我如何解释结果。然后,您仅对这些结果进行了最小限度的解释,而没有暗示您如何得出该解释或可能采取的适当措施。我不确定您是否在尝试帮助我,是否误解了我的经验水平,或者您是否在试图突出我的无知。
埃里克·威尔逊

3
进程列表不包括sshd进程,表示sshd未运行。解决方法是开始sshd
大卫·史瓦兹

1

前两个选项很好。您也可以使用-vor -vv参数。

$ ssh -vv eric@myserver

0

我也遇到了这个问题,但是在VirtualBox环境中,要解决此问题,我们需要将IP地址设置为同一LAN网段;例如:

在主机上,打开cmd并输入ipconfig。我得到100.2.2.1(例如)。

因此,在虚拟机中,我们必须将VM的地址设置为/etc/hosts100.2.2.3之类的值,查看最终编号,然后启动虚拟机,但是在启动虚拟机之前,请在虚拟机的设置中配置网络机器,因此我们需要在网桥连接中设置网络适配器。

所有这些都在Solaris环境中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.