[CentOS] SSH Remote Execution - su?

Thu Mar 4 05:48:07 UTC 2010
Chris Geldenhuis <chris.gelden at iafrica.com>

Tim Nelson wrote:
>
>
> Tim Nelson
> Systems/Network Support
> Rockbochs Inc.
> (218)727-4332 x105
>
> ----- "Jeremy Rosengren" <jeremy.rosengren at gmail.com> wrote:
> >
> > On Wed, Mar 3, 2010 at 3:36 PM, James Hogarth 
> <james.hogarth at gmail.com <mailto:james.hogarth at gmail.com>> wrote:
> >
>
>     > On 3 March 2010 21:20, Tim Nelson <tnelson at rockbochs.com
>     <mailto:tnelson at rockbochs.com>> wrote:
>     > > Greetings All-
>     > >
>     > > I'm about to embark on some remote management testing and need
>     a way to login to a remote system running CentOS 4.x/5.x via SSH,
>     su to root (using a password), then execute a command.
>     > >
>     > > I currently login to the boxes using key based SSH like this:
>     > >
>     > > ssh -i ~/remote_key admin@$REMOTEIP
>     > >
>     > > Then, I SU to root. However, if I try to do this automatically
>     like this:
>     > >
>     > > ssh -i ~/remote_key admin@$REMOTEIP 'su -l'
>     > >
>     > > I'm getting:
>     > >
>     > > "standard in must be a tty"
>     > >
>     > > So, how am I able to remote login using SSH, su to root, then
>     execute a command as root?
>     > >
>     > > All comments and suggestions welcome. Thanks!
>     > >
>     > > --Tim
>     > > _______________________________________________
>     > > CentOS mailing list
>     > > CentOS at centos.org <mailto:CentOS at centos.org>
>     > > http://lists.centos.org/mailman/listinfo/centos
>     > >
>     >
>     >
>     Best off configuring sudo for that user (with no password) and make
>     > sure that user has !requiretty in the sudoers configuration.
>     >
>     > James
>     >
>     > _______________________________________________
>     > CentOS mailing list
>     > CentOS at centos.org <mailto:CentOS at centos.org>
>     > http://lists.centos.org/mailman/listinfo/centos
>
>
> >
> Does "ssh -t" help?
>
> YESS. It prevents the tty error from showing up and asks me for a 
> password as expected. BUT, how do I then automate the entering of the 
> password?
>
> John Kennedy mentioned using expect which I've used before but found 
> it to be 'finnicky'. I may have to look at it again...
>
> Changing settings such as sudo configuration or ssh config may be 
> daunting since I have a large number of systems(150+) that would need 
> to be modified. :-/
>
> --Tim
> ------------------------------------------------------------------------
>
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>   
I found that Python expect is far more logical and understandable for 
complex tasks than the expect command.

ChrisG