Linux 服务器 ssh 登录特别慢

1 篇文章 0 订阅
1 篇文章 0 订阅

被这个问题困扰了很久,通过查阅大量网络资料找到了解决方法。

网上关于这个问题的博客文章一大堆,但是都是千篇一律、互相拷贝,关于配置UseDNS 或者GSSAPIAuthentication的,解决不了问题,浪费了我大量时间。

不能说那些方法没用,可能不适用我的情况,下面记录一下我的情况,为遇到相同情况的人提供一种新的解决方法。

场景

一台Linux文件服务器(具体是Redhat 7.2),客户端脚本通过 ssh 频繁远程执行 ll 命令检查是否有新文件,并通过 scp 将文件拷贝出来。

现象

通过ssh访问文件服务器特别慢,通过ssh -v显示登录调试信息发现卡在

debug1: Entering interactive session.
大概20多秒。

文件服务器运行时间久了会出现磁盘满,检查发现/var/spool/abrt/ 目录下存在大量ccpp*文件夹,里面都是崩溃日志。

ccpp*文件夹里有一个reason文件,cat内容是 systemd-logind killed by SIGABRT。

排查

登录文件服务器后,首先通过top,检查发现systemd-logind cpu 利用率达到90%-100%

关键

ls -ld /run/systemd/system/session-*.scope*
检查发现/run/systemd/system/目录下大量session-*.scope*文件

systemctl |grep "abandoned" |grep -e "-[[:digit:]]" |sed "s/\.scope.*/.scope/"
检查发现大量session-*.scope.

原因

这应该是系统的一个缺陷,跟systemd有关,systemd-logind主要功能是为每一个登陆session创建一个systemd角度的cgroup管理对象,那些abandoned session应该就是没有及时释放的。

解决

手动清理一下

systemctl |grep "abandoned" |grep -e "-[[:digit:]]" |sed "s/\.scope.*/.scope/" |xargs systemctl stop
可以将这条命令加入crontab或者脚本中定时运行

小结

可能我通过脚本频繁ssh和scp的方法不太好,引起了这个问题,但是总算解决了,

最终解决方法通过 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=793814 找到 systemd 的 github https://github.com/systemd/systemd/issues/1961

里面有详细问题描述以及解决方法以及讨论,本文的解决方法由part-timeDev 提出

网络上关于systemd争议挺多的,https://www.zhihu.com/question/25873473

SSH连接的原因有多种可能性。根据引用中的分析结果,可能的原因有以下几种: 1. DNS解析问题:可以在服务器的/etc/hosts文件中将本机的IP和主机名加入,或者在/etc/ssh/sshd_config文件中将UseDNS设置为no来解决。 2. resolv.conf配置问题:注释掉不使用的IP地址行可以解决。 3. nsswitch.conf配置问题:将/etc/nsswitch.conf文件中的hosts修改为hosts: files即可。 4. GSSAPIAuthentication配置问题:在/etc/ssh/sshd_config文件中将GSSAPIAuthentication设置为no可以解决。 其中,方法1和方法5的修改可能会解决问题。同时,如果服务器无法连接外网,可以将/etc/resolv.conf中的nameserver全部注释掉来解决。 此外,根据引用中的信息,SSH连接时系统会依次尝试publickey、gssapi-keyex、gssapi-with-mic和password等认证方式。如果用户只使用password认证方式,可以在客户端的ssh_config文件中进行相应的修改来提高连接速度。 总之,在排查SSH连接的问题时,可以结合上述方法进行逐一排查和修改,以找到最适合的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [linux ssh连接](https://blog.csdn.net/weixin_33682790/article/details/85145970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【已解决】linux ssh 远程连接服务器,出现登陆、打字卡顿输入卡顿解决方案](https://blog.csdn.net/idiot5lie/article/details/114167486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值