Remote Execution of sudo Command Hangs.
cptsalek at gmail.com
Sat Jul 28 05:59:27 UTC 2007
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
> 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
> 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.
More information about the freebsd-questions