SSH会话自动退出问题排查及Windows OpenSSH日志查询求助
SSH连接认证成功后立即断开问题排查及Windows OpenSSH日志位置说明
环境配置
- Windows主机:192.168.56.1(运行OpenSSH客户端)
- Ubuntu虚拟机:192.168.56.101(2022端口运行基于confd的Netconf服务器)
问题描述
执行命令 ssh admin@192.168.56.101 -p 2022 后,输入密码连接直接关闭;Ubuntu的/var/log/syslog显示admin用户认证成功但立即本地登出;SSH verbose日志显示认证成功后收到关闭包,会话终止,退出状态为-1,期望保持SSH会话连接。
排查方向
检查用户登录shell配置
查看Ubuntu系统中admin用户的默认登录shell是否被设置为非交互式shell(如/bin/false、/usr/sbin/nologin),这类shell会导致认证成功后无法启动会话直接退出。执行命令:cat /etc/passwd | grep admin如果输出中admin用户的shell字段为上述非交互式shell,修改为
/bin/bash或/bin/sh:usermod -s /bin/bash admin验证Netconf子系统连接方式
由于目标是基于confd的Netconf服务器,SSH服务可能仅绑定Netconf子系统而非普通shell。尝试通过指定Netconf子系统连接:ssh admin@192.168.56.101 -p 2022 -s netconfNetconf协议通常通过SSH子通道交互,直接发起普通SSH连接会因无可用会话进程而断开。
检查PAM登录限制
查看Ubuntu的PAM配置文件/etc/pam.d/sshd,确认是否存在限制admin用户登录后立即终止会话的规则,例如session模块的异常配置。
Windows OpenSSH日志位置
Windows OpenSSH客户端/服务器的日志可通过以下两种方式获取:
- 事件查看器:打开事件查看器,依次导航至
应用程序和服务日志 > OpenSSH > OpenSSH-Server(服务器端)或OpenSSH-Client(客户端),查看连接、认证等事件详情。 - 本地日志文件:默认日志文件路径为
C:\ProgramData\ssh\logs\sshd.log(服务器端),ProgramData为隐藏文件夹,需开启显示隐藏项目后访问,文件内包含详细的SSH服务运行日志。
内容的提问来源于stack exchange,提问作者Bhuvan
相关产品推荐
相关产品推荐

