问题描述: 前天在群晖上安装插件后,突然发现群晖上的SSH登不上去,然后控制台的终端机里面将ssh功能关闭重开,结果杯具了,提示系统繁忙,然后网上搜教程发现使用telnet可以登录,于是打开telnet,发现23端口是开了,但是一连就断开,无法登录,苦思冥想,就在今天打算重装系统时突然开窍了。
**终极杀招:**群晖的任务计划:自定义脚本可以执行命令行
步骤 1: 取出SSH配置文件和认证日志 首先,我们将当前的SSH配置文件和认证日志取到数据盘,看下配置和日志分析下原因,日志太多了直接GPT分析
# 备份SSH配置文件 cp /etc/ssh/sshd_config /volume2/DOWNLOAD/sshd_config_backup # 备份认证日志 cp /var/log/auth.log /volume2/DOWNLOAD/auth.log
gpt分析的结果:
基于这些信息,你可能需要检查以下几个方面:
/etc/ssh/sshd_config
文件,确保没有配置问题,并且用户 “zxx” 在 SSH 配置中具有访问权限。/etc/sudoers
文件中被正确配置,以允许执行必要的 sudo 命令。/var/empty
目录的权限,确保它是由 root 拥有的,并且不是组或其他用户可写的。看到分析突然想起来安装软件的时候脑抽了,给权限的时候给多了,好像还改了文件属组,瞬间定位到最后一个权限的问题,后面就简单了。
步骤 2: 修改/var/empty目录的权限 SSH服务依赖于/var/empty目录,确保该目录的权限正确设置。
bash # 修复/var/empty目录的权限 sudo chown root:root /var/empty sudo chmod 755 /var/empty
步骤 3: 重新启动SSH服务 修复/var/empty目录的权限后,重新启动SSH服务。
bash # 重新启动SSH服务 /bin/systemctl restart sshd
这里也可以直接在控制面版,终端里面勾选ssh服务
总结: 系统配置文件还是不要瞎改,更改文件属组的时候要眼睛擦亮。