Remote Execution of sudo Command Hangs.

Christian Walther cptsalek at gmail.com
Sat Jul 28 05:59:27 UTC 2007


Hi Martin,

On 27/07/07, Martin McCormick <martin at dc.cis.okstate.edu> wrote:
> We have 3 FreeBSD systems. One is trying to use ssh and sudo to
> run commands on two other systems. The remote command being
> executed is:
>
> ssh remote.system.domain sudo dhcpreset
>
>         dhcpreset is an expect script most of which is shown
> here:
[Script removed]
>
>         The script works perfectly if you run it from a login
> shell on the system where it actually lives as in:
>
> sudo dhcpreset.
>
>         If you run it via ssh from a remote system, however, it
> runs, produces the proper status messages and does its job and
> then . . . . . .
>
>         You have to hit a Control-C to kill off the ssh
> connection which doesn't drop on its own.
>
>         I think my script must somehow make sudo not see the
> exit. Even though you see the dhcpd -q process started as a
> background process, dhcpd daemonizes almost immediately and you
> even see the completion message in a log of the activity so it
> isn't that. Besides, it exits properly when called locally.
>
>         Other remote commands using sudo properly exit. Any idea
> how I might figure out what is hanging things up?
>
>         If you do a ps on the remote system, the expect script
> has ended. On the calling system, you still see ssh to the
> remote system.
>
>         Reading the expect manual shows an exit command but also
> says that it is implied when the end of the script is reached. I
> have tried it with and without that command at the end with no
> effect.
>
>         Thanks for any other suggestions for making this command
> terminate when done.

Try using "pseudo tty allocation" with your ssh command, it's the "-t" option.
So, use "ssh -t remote.system.domain sudo dhcpreset" as the command.
If this doesn't work directly, you can even try several "t"s. I had
best results with -ttt.

If this still doesn't work, try using "nohup dhcpd -q" as command.

HTH
Christian


More information about the freebsd-questions mailing list