Centos 5 VPS:sshd冻结

我有一个Centos 5 VPS,它试图连接到SSH时给我一些问题。 这是发生了什么事情:

  1. 我参与进来,做一些工作。 Nmap检测到端口22是开放的。
  2. 我断开连接。
  3. 有时它可以让我连接回来,但通常我不能ssh回来(它给出了一个错误:错误的文件号),并且必须等待半小时,即使我重新启动系统或通过Plesk面板重新启动ssh守护进程。 Nmap将端口22检测为closures。

我可以毫无问题地访问Apache和plesk面板,但是只要连接,sshd就会冻结。

这是我的/ etc / ssh / sshd_config文件:

 #$ OpenBSD:sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $

 #这是sshd服务器系统范围的configuration文件。 看到
 #sshd_config(5)了解更多信息。

 #这个sshd是用PATH = / usr / local / bin:/ bin:/ usr / bin编译的

 #用于随附的默认sshd_config中的选项的策略
 #OpenSSH是指定选项的默认值在哪里
 #可能,但留下他们评论。 未注释选项更改a
 # 默认值。

港口22
 #协议2,1
议定书2
地址家庭inet
 ListenAddress 82.223.121.43
 #ListenAddress ::

协议版本1的#HostKey
 #HostKey / etc / ssh / ssh_host_key
协议版本2的#HostKeys
 #HostKey / etc / ssh / ssh_host_rsa_key
 #HostKey / etc / ssh / ssh_host_dsa_key

 #短命版本1服务器密钥的生存期和大小
 #KeyRegenerationInterval 1h
 #ServerKeyBits 768

 #logging
 #废弃QuietMo​​de和FascistLogging
 #SyslogFacility AUTH
 SyslogFacility AUTHPRIV
 #LogLevel信息

 #authentication:

 LoginGraceTime 2m
 PermitRootLogin是
 StrictModes是的
 #MaxAuthTries 6

 #RSAAuthentication yes
 #PubkeyAuthentication是的
 #AuthorizedKeysFile .ssh / authorized_keys

 #为此,您还需要/ etc / ssh / ssh_known_hosts中的主机密钥
 #RhostsRSAAuthentication no
 #协议版本2相似
 #HostbasedAuthentication no
 #如果你不相信〜/ .ssh / known_hosts for,请更改为yes
 #RhostsRSAAuthentication和HostbasedAuthentication
 #IgnoreUserKnownHosts没有
 #不要读取用户的〜/ .rhosts和〜/ .shosts文件
 #IgnoreRhosts是的

 #要禁用隧道明文密码,请在这里更改为no!
 #PasswordAuthentication yes
 #PermitEmptyPasswords no
 #PasswordAuthentication yes

 #更改为no以禁用s / key密码
 #ChallengeResponseAuthentication是的

 #Kerberos选项
 #KerberosAuthentication no
 #KerberosOrLocalPasswd是的
 #KerberosTicketCleanup是的
 #KerberosGetAFSToken no

 #GSSAPI选项
 #GSSAPIAuthentication no
 #GSSAPICleanupCredentials是的

 #将其设置为“yes”以启用PAMauthentication,帐户处理, 
 #和会话处理。 如果启用,PAMauthentication将会 
 #允许通过ChallengeResponseAuthentication机制。 
 #根据您的PAMconfiguration,这可能会绕过设置 
 #PasswordAuthentication,PermitEmptyPasswords和 
 #“PermitRootLogin without-password”。 如果你只是想PAM帐户和 
 #会话检查运行没有PAMauthentication,然后启用这个,但设置 
 #ChallengeResponseAuthentication = no
 UsePAM是的

 #接受与语言环境相关的环境variables
 AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
 AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
 AcceptEnv LC_IDENTIFICATION LC_ALL
 #AllowTcpForwarding是的
 #GatewayPorts no
 #X11转发号码
 X11转发号码
 #X11DisplayOffset 10
 #X11UseLocalhost是的
 #PrintMotd是的
 #PrintLastLog是
 #TCPKeepAlive是的
 #使用login号
 #UsePrivilegeSeparation是
 #PermitUserEnvironment没有
 #压缩延迟
 #ClientAliveInterval 0
 #ClientAliveCountMax 3
 #ShowPatchLevel no
 UseDNS no
 #PidFile /var/run/sshd.pid
 MaxStartups 20
 #PermitTunnel号码
 #ChrootDirectory无

 #没有默认的横幅path
 #class纳/一些/path

 #覆盖没有子系统的默认值
子系统sftp / usr / libexec / openssh / sftp-server

当您能够成功loginSSH时,请尝试以下操作 – 将sshd_config中的LogLevel更改为:

LogLevel DEBUG 

在仍然login后重新启动SSHD以使更改生效,然后注销。 下次你能够成功地将SSH连接到你的服务器时,发布/ var / log / secure的输出。

另外,如果您已经访问了Linux客户机,请尝试使用以下命令login到您的服务器:

 ssh -vvv user@hostname 

这将有助于弄清楚客户端在服务器“挂起”时看到的内容。

另一个提示 – 我注意到你有PermitRootLogin设置为“是”。 在面向公众的VPS上,这是一个非常糟糕的主意 。 请将其设置为“否”,然后使用sudo。