昨天下班回到家后,我试图连接linux来部署一个docker项目,却发现无法连接。
我对这类Linux问题的排查能力不足,只能通过错误信息在百度上搜索解决方案,但毫无效果。随后我想到可能是之前修改了配置文件,导致SSH服务出现问题。于是,我通过阿里云控制台使用救援连接,成功进入了SSH服务,并发现SSH服务已关闭!尝试开启SSH服务时却遇到了错误。即使重新安装了SSH,问题依然存在,最后我只能提交阿里云工单求助。
技术支持人员通过两个命令迅速解决了我的问题:
sshd -t
netstat -ntulp | grep sshx
运行第一个命令后,报错显示是权限问题,我自己也看出了这一点。
技术支持人员让我执行了几个命令后,问题就解决了,我成功连接上了SSH。
经过分析,我发现问题出在权限设置上。我之前在百度上看到一个博主的权限设置与我的不同,为了省事,直接将所有权限设置为最高级别(777),结果反而引发了问题。
总结如下:
- Linux中,程序出现错误时,如果是权限问题,不一定是权限不够,将所有权限设置为777反而可能导致bug。
- 重装SSH后,之前修改的权限文件不会自动恢复,可能是因为我没有触及到那几个权限文件。
- 面对Linux错误时,不要慌张。首先使用救援连接进入系统内部,然后通过命令逐步排查问题。例如,
sshd -t命令可以检查SSH服务是否有问题,这是一个非常有用的命令。
废江博客,版权所有 | 如未注明,均为原创 | 本网站采用BY-NC-SA协议进行授权,转载请注明原文链接:linux远程ssh连接不上?










