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

刚开始想到可能是防火墙拦截了,但是经过排查最近排除了,后查询可能是客户对服务器秘钥文件进行过更改,更改为默认权限后可正常远程

1.服务端日志获取

tailf /var/log/secure

2.查看日志报错(如下内容)

No supported key exchange algorithms

3.SSH 服务会对相关密钥文件的权限进行检查。比如,私钥文件默认权限是 600,如果配置成 777 等其它权限,导致其它用户也有读取或修改权限。则 SSH 服务会认为该配置存在安全风险,进而导致客户端连接失败。

可以通过如下指令恢复相关文件的默认权限配置:

cd /etc/ssh/

chmod 600 ssh_host_*

chmod 644 *.pub

操作示意如下:

[root@centos]# cd /etc/ssh/

[root@centos]# chmod 600 ssh_host_*

[root@centos]# chmod 644 *.pub

[root@centos]# ll

total 156

-rw——-. 1 root root 125811 Nov 23 2013 moduli

-rw-r–r–. 1 root root 2047 Nov 23 2013 ssh_config

-rw——- 1 root root 3639 May 16 11:43 sshd_config

-rw——- 1 root root 668 May 20 23:31 ssh_host_dsa_key

-rw-r–r– 1 root root 590 May 20 23:31 ssh_host_dsa_key.pub

-rw——- 1 root root 963 May 20 23:31 ssh_host_key

-rw-r–r– 1 root root 627 May 20 23:31 ssh_host_key.pub

-rw——- 1 root root 1675 May 20 23:31 ssh_host_rsa_key

在用Xshell连接,则可以正常连接

5.可能每个人,遇到的问题各不相同!请按照一下步骤逐一 排查

https://help.aliyun.com/knowledge_detail/41470.html

原文链接:https://developer.aliyun.com/ask/102395?spm=a2c6h.13159736