为什么我无法远程login到具有监听服务的本地端口?

我怀疑这是一个非常简单的问题,或者是一个非常复杂的问题。

我有一个运行ubuntu 10.04的无头服务器,我可以ssh进入。 我有完整的系统根权限。 我试图build立一个SSH隧道,让我vnc的系统(但这不是我的问题。

我有端口5903运行vnc,这是netstat的输出:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 7173/Xtightvnc tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 465/sshd 

但是,当我尝试telnet到该端口,从同一个系统和login,我无法连接错误

 # telnet localhost 5903 Trying ::1... Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection timed out 

我可以telnet到端口22(作为validation)

 ~# telnet localhost 22 Trying ::1... Connected to localhost. Escape character is '^]'. SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7 

我试图用ufw打开任何可能的端口(可能笨拙的时尚)

 # ufw status numbered Status: active To Action From -- ------ ---- [ 1] 5903 ALLOW IN Anywhere [ 2] 22 ALLOW IN Anywhere 

还有什么可能会阻止本地连接?

谢谢,

编辑:

iptable -L -n中对端口5903的唯一引用是这样的:

 Chain ufw-user-input (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5903 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5903 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8080 

如果这将是有用的,我可以发布整个输出。

hosts.allow和hosts.deny都只包含注释。

重新编辑:其他一些问题指向了nmap,所以我通过该实用程序运行了一个portscan:

 # nmap -v -sT localhost -p1-65535 Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-09 09:58 PST NSE: Loaded 0 scripts for scanning. Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1. Initiating Connect Scan at 09:58 Scanning localhost (127.0.0.1) [65535 ports] Discovered open port 22/tcp on 127.0.0.1 Connect Scan Timing: About 18.56% done; ETC: 10:01 (0:02:16 remaining) Connect Scan Timing: About 44.35% done; ETC: 10:00 (0:01:17 remaining) Completed Connect Scan at 10:00, 112.36s elapsed (65535 total ports) Host localhost (127.0.0.1) is up (0.00s latency). Interesting ports on localhost (127.0.0.1): Not shown: 65533 filtered ports PORT STATE SERVICE 22/tcp open ssh 80/tcp closed http Read data files from: /usr/share/nmap Nmap done: 1 IP address (1 host up) scanned in 112.43 seconds Raw packets sent: 0 (0B) | Rcvd: 0 (0B) 

我认为这表明5903被阻止了。 我几乎知道。 问题仍然是阻止它,以及如何修改。

再重新编辑:

要检查Paul Lathrop的build议答案,我首先用ifconfigvalidation了我的ip地址:

 eth0 Link encap:Ethernet HWaddr 02:16:3e:42:28:8f inet addr:10.0.10.3 Bcast:10.0.10.255 Mask:255.255.255.0 

然后尝试从该地址telnet到5903:

 # telnet 10.0.10.3 5903 Trying 10.0.10.3... telnet: Unable to connect to remote host: Connection timed out 

没有运气。

再重新再重新编辑:

好吧,我认为我已经隔离了一些vncserver,而不是防火墙,补充它。 我closures了vncserver,并在端口5903上使用了netcat监听。然后,我的vnc客户端能够build立连接,并等待响应。 看起来我应该追逐一个VNC的问题。 至less这是进步感谢您的帮助

好吧,我认为我已经隔离了一些vncserver,而不是防火墙,补充它。 我closures了vncserver,并在端口5903上使用了netcat监听。然后,我的vnc客户端能够build立连接,并等待响应。 看起来我应该追逐一个VNC的问题。 至less这是进步感谢您的帮助

很可能你的VNC服务器没有绑定到回送接口。 我也遇到了一些Java守护进程,他们声称在0.0.0.0上进行监听,直觉上应该包括环回,但实际上它们只绑定到“外部”networking接口。 尝试: telnet <LOCAL_IP> 5904 ; 如果它连接,那么你的VNC服务器不绑定到回送接口。