执行 sudo 命令后 SSH 连接自动关闭

执行 sudo 命令后 SSH 连接自动关闭

sudo我有两台服务器运行相同版本的 RedHat 6.4,但当我通过 SSH 在其中一台服务器上运行远程命令时,它的行为有所不同。服务器1,连接将在成功的 sudo命令,但在服务器3,连接保持打开并可以运行进一步的命令。

请注意,对于这些测试,sudo用户有NOPASSWD标志,因此不会询问任何提示。据我所知,这些服务器上的所有配置都是相同的(它们被克隆了)。

我用这个测试过:

ssh -vvv user@server1 << EOF
sudo ls -l /home/
ls -l /home/
pwd
EOF

如果我在 server1 上运行它,我会得到一个单个文件列表。

debug3: Wrote 32 bytes for a total of 1621
total 40
drwxr-xr-x.  5 user       user       4096 Apr 26  2013 user
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain

在同一台服务器上不使用 sudo 命令运行,我得到了两个文件列表和 pwd 结果

ssh -vvv user@server1 << EOF
ls -l /home/
ls -l /home/
pwd
EOF

结果:

debug3: Wrote 32 bytes for a total of 1605
total 40
drwxr-xr-x.  5 user       user       4096 Apr 26  2013 user
total 40
drwxr-xr-x.  5 user       user       4096 Apr 26  2013 user
/home/user
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain

但是,在 server3 上使用 sudo 命令运行脚本时,我得到了所有 3 条命令的结果,就像之前的测试一样。我比较了两台服务器(1 和 3)的 ssh -vvv 日志的输出,除了连接关闭时调试行的顺序不同(参见 client_input... 行),其他一切似乎都一样。

server1 (有无都一样sudo)

[command results]
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug2: channel 0: rcvd close

服务器3

[command results]
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd close

我想知道如何修复 server1,以便连接不会自动关闭,以便我的脚本在包含sudo命令时可以完全执行。

我已经检查过一些选项:

  • SE Linux 已禁用
  • passwd文件已正确配置了/bin/bashshell
  • errexit 已关闭(无论如何命令都是成功的)
  • sudoers两台服务器的配置sshd_config相同

我看到的服务器之间唯一的区别是,有问题的服务器 1 是较老一代的服务器,它是 ProLiant DL380 G7,而服务器 3 是 G8。我尝试过的其他服务器也是 G8(我只有一个 G7 可以试用)。我不明白硬件如何会导致这种问题。

相关内容