38

当我 ping 我的服务器时,它会响应:

user@localhost:~$ ping my.server
PING my.server (111.111.111.11) 56(84) bytes of data.
64 bytes from my.server (111.111.111.11): icmp_req=1 ttl=42 time=38.4 ms
64 bytes from my.server (111.111.111.11): icmp_req=2 ttl=42 time=50.0 ms
64 bytes from my.server (111.111.111.11): icmp_req=3 ttl=42 time=58.6 ms
^C
--- my.server ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 38.419/49.037/58.637/8.287 ms

但是当我尝试 ssh 时(我一直在做的事情,并且过去几个小时一直在同一个连接上做),它挂起:

user@localhost:~$ ssh my.server

http://speedtest.net说我的连接下载速度为 1.5 Mbps,上传速度为 0.4 Mbps。

ssh挂起是否有原因?


答案中提供的建议的结果

来自@nsfyn55

user@localhost:~$ telnetmy.server 22 
Trying 111.111.111.11...
Connected to my.server
Escape character is '^]'.
SSH-2.0-OpenSSH_4.3
Connection closed by foreign host.

来自@vahid:

user@localhost:~$ nc -v -w 1 111.111.111.111 -z 22
nc: timeout cannot be negative
4

3 回答 3

24

ping(ICMP 协议)和 ssh 是两种不同的协议。

  1. 可能是 ssh 服务未运行或未安装

  2. 防火墙限制(本地到服务器,如 iptables 甚至 sshd 配置锁定)或(保护传入网络托管 111.111.111.111 的流量的外部防火墙)

首先检查 ssh 端口是否已启动

nc -v -w 1 111.111.111.111 -z 22

如果成功,则 ssh 应该进行通信,如果没有,则在解除限制或启动 ssh 之前它将永远不会工作

于 2012-10-03T19:18:55.313 回答
6

找出两条信息

  • 目标 ssh 服务器的主机名或 IP 是什么
  • ssh 守护进程监听的端口(默认为 22 端口)

$> telnet <hostname or ip> <port>

假设守护程序已启动并正在运行并在该端口上侦听,它应该建立一个 telnet 会话。可能的原因:

  • ssh 守护进程未运行
  • 主机正在使用其软件防火墙阻止目标端口
  • 一些中间网络设备正在阻塞或过滤目标端口
  • ssh 守护进程正在监听非标准端口
  • TCP 包装器已配置并正在过滤掉您的源主机
于 2012-10-03T19:23:50.320 回答
-4

在服务器上,尝试:

netstat -an 

并查看是否tcp port 22已打开(findstr在 Windows 或grepUnix 中使用)。

于 2012-10-03T19:15:59.857 回答