http://qs1969.pair.com?node_id=33385


in reply to Auto login and password entry

If you are using ssh then you are half way there!

You need to generate yourself an identity using ssh-keygen on the local machine. You then copy the public part of this into the ~/.ssh/authorized_keys file on the remote server.

You'll then be able to log into the remote machine without using a password (provided you didn't set a password on the identity you made).

This requires that you keep your identity secret, but you are proposing putting the username and password in a file which is just as bad.

This is the way I use ssh for all our system administration. We have a web page showing disk usage on all or our servers generated in exactly this way.

Once you've got it working you can do this

# ssh myremoteserver.net 'df -k' Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda3 17092820 2255644 13954808 14% / /dev/sdb4 30639063 11498971 17533191 40% /home
Note the lack of login propmt!

You need to take care passing commands to ssh - if you don't use the list form of system you'll end up running your commands through two shells (one remote, one local) which may be bad for your server health. Use like this

system("ssh", "-l", "root", "df -k") == 0 or die "Couldn't run command";
Take care with commands run on the remote server since they will be run through the shell. Judicous use of ''s or \Q\E can help, or use Shell::StringQuote.

Replies are listed 'Best First'.
RE: Re: Auto login and password entry
by BlackLab (Initiate) on Sep 21, 2000 at 00:01 UTC
    Thanks a million - it looks like it's going to work.