Xshell 连接linux服务器报错Connection closed by foreign host.

Connecting to IP地址:22...

Connection established.

To escape to local shell, press 'Ctrl+Alt+]'.

Connection closed by foreign host.

Disconnected from remote host(zhengshi_dhy) at 14:15:15.

Type `help' to learn how to use Xshell prompt.

从网上找了几种方式

第一种(认为是 SSH key认证相关目录和文件的权限配置 问题),解决方法:

配置目录文件权限

cd /etc/ssh

sudo chmod 644 ./*

sudo chmod 600 ssh_host_dsa_key

sudo chmod 600 ssh_host_rsa_key

sudo chmod 755 .

/etc/init.d/ssh restart

第二种(没有设置超时时间),解决方法:

sudo vim /etc/ssh/sshd_config

添加两行:

ClientAliveInterval 60

ClientAliveCountMax 30

然后

sudo /etc/init.d/sshd restart

第三种(IP冲突导致),解决办法:

重新设置未使用的静态IP,设置前先ping下有没有使用

第四种(PAM安全设置问题)--我遇见的问题最终定位为这个问题,解决方法:

查看sshd日志

tail -f /var/log/secure

可以看到如下日志

Oct 26 10:17:55 localhost sshd[31806]: Failed password for username from IP地址 port 端口 ssh2

Oct 26 10:17:55 localhost sshd[31807]: fatal: Access denied for user username by PAM account configuration

然后可以确定为PAM安全设置的问题,在网上搜了搜,找到了这篇文章“ PAM的配置过程  ”,然后找到了原因,应该是管理员在维护服务器的时候建立了/etc/nologin 文件,但是维护完成后忘记删除了,只要

rm /etc/nologin

普通用户就能正常登陆了

推荐阅读更多精彩内容