为什么我可以ping服务器但不能通过SSH连接?

Abe*_*Abe 32 ssh ping

当我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
Run Code Online (Sandbox Code Playgroud)

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

user@localhost:~$ ssh my.server
Run Code Online (Sandbox Code Playgroud)

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.
Run Code Online (Sandbox Code Playgroud)

来自@vahid:

user@localhost:~$ nc -v -w 1 111.111.111.111 -z 22
nc: timeout cannot be negative
Run Code Online (Sandbox Code Playgroud)

Vin*_*yon 21

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

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

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

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

nc -v -w 1 111.111.111.111 -z 22
Run Code Online (Sandbox Code Playgroud)

如果成功,那么ssh应该通信,如果没有那么它将永远不会工作,直到限制被解除或ssh开始

  • @Abe,也许你误读了给定的命令 - 在`-w`之后和IP地址之前有一个`1`. (4认同)

nsf*_*n55 6

找出两条信息

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

$> telnet <hostname or ip> <port>

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

  • ssh守护程序未运行
  • 主机使用其软件防火墙阻止目标端口
  • 某些中间网络设备阻塞或过滤目标端口
  • ssh守护程序正在侦听非标准端口
  • 已配置TCP包装器并过滤掉源主机