2015-04-23 1661 views
3

我已经安装Openssh-sever。开始ssh-server使用以下命令:ssh:端口22拒绝连接

:~$ sudo service ssh start 
ssh start/running, process 20013 

用下面的命令,我可以看到22端口是开放的:

:~$ sudo nmap localhost -p 1-65535 
Starting Nmap 6.40 (http://nmap.org) at 2015-04-22 23:46 EDT 
Nmap scan report for localhost (127.0.0.1) 
Host is up (0.000013s latency). 
Not shown: 65533 closed ports 
PORT STATE SERVICE 
22/tcp open ssh 
631/tcp open ipp 

Nmap done: 1 IP address (1 host up) scanned in 7.24 seconds 

此外,为了检查该端口是否正在监听我用了下面的命令结果:

:~$ sudo netstat -plunt 
Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address   Foreign Address   State  PID/Program name 
tcp  0  0 127.0.1.1:53   0.0.0.0:*    LISTEN  1061/dnsmasq  
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  20013/sshd  
tcp  0  0 127.0.0.1:631   0.0.0.0:*    LISTEN  2009/cupsd  
tcp6  0  0 :::22     :::*     LISTEN  20013/sshd  
tcp6  0  0 ::1:631     :::*     LISTEN  2009/cupsd  
udp  0  0 0.0.0.0:42198   0.0.0.0:*       

但是,当我试图从同一台机器,我得到了以下信息连接到端口:

:~$ ssh -vvv -p 22 address 
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 19: Applying options for * 
debug2: ssh_connect: needpriv 0 
debug1: Connecting to address [198.105.xxx.xxx] port 22. 
debug1: connect to address 198.105.xxx.xxx port 22: Connection timed out 

当我尝试从ssh不同网络上的另一台计算机我获得以下消息(xx.xxx.xxx.xxx是路由器的外部/公共IP):

:~ssh [email protected] 
ssh: connect to host xx.xxx.xxx.xxx port 22: Connection refused 

而,当我尝试从同一网络上的另一台计算机上尝试ssh时,我可以连接。我在端口22上的路由器上启用了端口转发功能,以将其连接到本地计算机的IP上。我从字面上开始使用ubuntu 2天前,并开始在同一天ssh。到目前为止,我不是这方面的专家,任何简单的解释或指导都将不胜感激。 :)下面

是我sshd_config文件:

# Package generated configuration file 
# See the sshd_config(5) manpage for details 

# What ports, IPs and protocols we listen for 
Port 22 
# Use these options to restrict which interfaces/protocols sshd will bind to 
#ListenAddress :: 
#ListenAddress 0.0.0.0 
Protocol 2 
# HostKeys for protocol version 2 
HostKey /etc/ssh/ssh_host_rsa_key 
HostKey /etc/ssh/ssh_host_dsa_key 
HostKey /etc/ssh/ssh_host_ecdsa_key 
HostKey /etc/ssh/ssh_host_ed25519_key 
#Privilege Separation is turned on for security 
UsePrivilegeSeparation yes 

# Lifetime and size of ephemeral version 1 server key 
KeyRegenerationInterval 3600 
ServerKeyBits 1024 

# Logging 
SyslogFacility AUTH 
LogLevel INFO 

# Authentication: 
LoginGraceTime 120 
PermitRootLogin without-password 
StrictModes yes 

RSAAuthentication yes 
PubkeyAuthentication yes 
#AuthorizedKeysFile %h/.ssh/authorized_keys 

# Don't read the user's ~/.rhosts and ~/.shosts files 
IgnoreRhosts yes 
# For this to work you will also need host keys in /etc/ssh_known_hosts 
RhostsRSAAuthentication no 
# similar for protocol version 2 
HostbasedAuthentication no 
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication 
#IgnoreUserKnownHosts yes 

# To enable empty passwords, change to yes (NOT RECOMMENDED) 
PermitEmptyPasswords no 

# Change to yes to enable challenge-response passwords (beware issues with 
# some PAM modules and threads) 
ChallengeResponseAuthentication no 

# Change to no to disable tunnelled clear text passwords 
#PasswordAuthentication yes 

# Kerberos options 
#KerberosAuthentication no 
#KerberosGetAFSToken no 
#KerberosOrLocalPasswd yes 
#KerberosTicketCleanup yes 

# GSSAPI options 
GSSAPIAuthentication yes 
#GSSAPICleanupCredentials yes 


AllowTcpForwarding yes 
X11Forwarding yes 
X11DisplayOffset 10 
PrintMotd no 
PrintLastLog yes 
TCPKeepAlive yes 
#UseLogin no 

#MaxStartups 10:30:60 
#Banner /etc/issue.net 

# Allow client to pass locale environment variables 
AcceptEnv LANG LC_* 

Subsystem sftp /usr/lib/openssh/sftp-server 

# Set this to 'yes' to enable PAM authentication, account processing, 
# and session processing. If this is enabled, PAM authentication will 
# be allowed through the ChallengeResponseAuthentication and 
# PasswordAuthentication. Depending on your PAM configuration, 
# PAM authentication via ChallengeResponseAuthentication may bypass 
# the setting of "PermitRootLogin without-password". 
# If you just want the PAM account and session checks to run without 
# PAM authentication, then enable this but set PasswordAuthentication 
# and ChallengeResponseAuthentication to 'no'. 
UsePAM yes 

而且我ssh_config文件,如下所示:

# This is the ssh client system-wide configuration file. See 
# ssh_config(5) for more information. This file provides defaults for 
# users, and the values can be changed in per-user configuration files 
# or on the command line. 

# Configuration data is parsed as follows: 
# 1. command line options 
# 2. user-specific file 
# 3. system-wide file 
# Any configuration value is only changed the first time it is set. 
# Thus, host-specific definitions should be at the beginning of the 
# configuration file, and defaults at the end. 

# Site-wide defaults for some commonly used options. For a comprehensive 
# list of available options, their meanings and defaults, please see the 
# ssh_config(5) man page. 

Host * 

ServerAliveInterval 300 
# ForwardAgent no 
# ForwardX11 no 
# ForwardX11Trusted yes 
# RhostsRSAAuthentication no 
# RSAAuthentication yes 
# PasswordAuthentication yes 
# HostbasedAuthentication no 
# GSSAPIAuthentication no 
# GSSAPIDelegateCredentials no 
# GSSAPIKeyExchange no 
# GSSAPITrustDNS no 
# BatchMode no 
# CheckHostIP yes 
# AddressFamily any 
# ConnectTimeout 0 
# StrictHostKeyChecking ask 
# IdentityFile ~/.ssh/identity 
# IdentityFile ~/.ssh/id_rsa 
# IdentityFile ~/.ssh/id_dsa 
# Port 22 
# Protocol 2,1 
# Cipher 3des 
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc 
# MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160 
# EscapeChar ~ 
# Tunnel no 
# TunnelDevice any:any 
# PermitLocalCommand no 
# VisualHostKey no 
# ProxyCommand ssh -q -W %h:%p gateway.example.com 
# RekeyLimit 1G 1h 
    SendEnv LANG LC_* 
    HashKnownHosts yes 
    GSSAPIAuthentication yes 
    GSSAPIDelegateCredentials no 
+2

你试过连接到'localhost'而不是'address'吗?另外,如果你发布你的ssh_config(没有评论),它会有所帮助。从你的'ssh -v'输出你显示一个连接尝试,但没有来自服务器的响应。这表明你的服务器实际上并不在本地主机上运行。在进行身份验证之前,您应该立即在“连接到地址”之后收到“debug1:Connection established.'。所以你没有连接任何东西。 –

+0

在sshd_config中配置了ListenAddress? – flexus

+0

@ DavidC.Rankin我试着连接到'localhost',它工作正常。我用'ssh_config'文件更新了这篇文章,让我知道你是从哪里来的。 – Gurkha

回答

1

经过长途发现,问题是ISP提供的调制解调器。如果调制解调器/路由器的端口转发没有被ISP阻止,以上配置应该可以正常工作。在提供调制解调器/路由器ISP的情况下,即使在我试过端口转发之后,端口22也没有打开,可以在这里查看:http://www.canyouseeme.org/

相关问题