UNIX: How to Automate SSH Login

Yesterday, I was working on some shell script piece for my project and I came across a situation where I have to copy some files from one server to another using ‘scp’ command and also some time have to execute some command on other server.  One requirement was we don’t need to pass the password of functional id inside the script.

User should be able to login to other server without password using command  “ssh -l username remotehost”.

For this I used SSH public key based authentication as below:-

For this to work you need a file named id_dsa.pub in your ~/.ssh Directory. If it’s not there, simply create it with below command:

ssh-keygen -t dsa

above command will create below directory with public and private keys:

.ssh/id_dsa
.ssh/id_dsa.pub

now copy id_dsa.pub file to remote server .ssh/ directory as “authorized_keys2” with whom you would like to do an automated login.

 After that try below command from source server, no need for password

ssh -l username remotehost

 For more details can view link

Leave a Reply

Your email address will not be published. Required fields are marked *