Secure Shell is a program to log into another computer over a
network, to execute commands in a remote machine, and to move
files from one machine to another. It provides strong
authentication and secure communications over unsecure channels.
It is intended as a replacement for telnet, rlogin, rsh, and rcp.
For SSH2, there is a replacement for FTP: sftp.This might be
useful if you are trying to connect everytime to your server
A Trust relationship can be established for users on multiple
servers running OpenSSH to allow a password free ssh session.
This is sometime important when you want to run scripts or
Let's assume ServerA and ServerB both run the ssh daemons.
To allow ServerA to SSH to ServerB without password, please try
# ssh-keygen -t rsa
Note: User here is root
This generates two files id_rsa.pub and id_rsa
Now, this needs to be copied to the authorized_keys file on
# scp id_rsa.pub ServerB:~/.ssh/authorized_keys
Enter password when prompted.
Note: If the ServerB is already having a trust relationship with
more that one hosts already then the above will wipe the
contents and write this key alone. In which case, copy the file
to the remote server as something like ServerA_rsa.pub and then
append the contents to authorized_keys as follows. This will
allow the existing authroized_keys from being wiped off.
# scp id_rsa.pub ServerB:~/.ssh/ServerA_rsa.pub
# cat ServerA_rsa.pub >> authorized_keys
Thats it. Test if you are able to do a ssh from ServerA without
# ssh serverB uname -a
This will run the command "uname -a" on ServerB and returns the
result on ServerA.
The same procedure has to be followed in the reverse to allow
ServerB to talk back to ServerA without any password.
And, if there is anyone other server to be added to the existing
list follow the same procedure ensuring the key is appended to
the remote servers authorized_keys file and not by overwriting