WinSCP使用SCP协议执行su -l切换用户后会话意外关闭的问题求助
各位大佬好,我碰到一个挺棘手的问题,想请大家帮忙分析下:
我在Linux服务器上配置了一个SSH登录触发的脚本,逻辑是先执行一些预设命令,然后通过su -l <anotheruser>切换到另一个用户。用普通的Linux系scp/ssh客户端连接时,整个流程都正常,但换成WinSCP(已经在选项里指定了SCP文件协议)就彻底不行了!
排查过程中我发现,通过su -l <anotheruser>启动的shell好像被莫名终止了,WinSCP的日志里只弹出这个错误:
(EFatal) Connection has been unexpectedly closed. Server sent command exit status 1
我实在搞不明白,为什么只有用WinSCP的时候会出现这个情况!有没有大佬能给我一些进一步调试的方向或者解决思路?
编辑补充:
下面是WinSCP日志的最后几行内容:
! 2024-07-27 00.23.13.824 su: must be run from a terminal
. 2024-07-27 00.23.13.824 Session sent command exit status 1
. 2024-07-27 00.23.13.824 Main session channel closed
. 2024-07-27 00.23.13.824 All channels closed
. 2024-07-27 00.23.13.824 Timeout waiting for network events
备注:内容来源于stack exchange,提问作者Ani

