9.3.1. Using the ssh
Utility
ssh
allows you to log in to a remote machine and execute commands there. It is a secure replacement for the rlogin
, rsh
, and telnet
programs.
Similarly to telnet
, to log in to a remote machine named penguin.example.com
, type the following command at a shell prompt:
~]$ ssh penguin.example.com
This will log you in with the same username you are using on a local machine. If you want to specify a different one, use a command in the ssh username
@hostname
form. For example, to log in as john
, type:
~]$ ssh [email protected]
The first time you initiate a connection, you will be presented with a message similar to this:
The authenticity of host 'penguin.example.com' can't be established.
RSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.
Are you sure you want to continue connecting (yes/no)?
Type yes
to confirm. You will see a notice that the server has been added to the list of known hosts, and a prompt asking for your password:
Warning: Permanently added 'penguin.example.com' (RSA) to the list of known hosts.
[email protected]'s password:
If the SSH server's host key changes, the client notifies the user that the connection cannot proceed until the server's host key is deleted from the ~/.ssh/known_hosts
file. To do so, open the file in a text editor, and remove a line containing the remote machine name at the beginning. Before doing this, however, contact the system administrator of the SSH server to verify the server is not compromised.
After entering the password, you will be provided with a shell prompt for the remote machine.
Alternatively, the ssh
program can be used to execute a command on the remote machine without logging in to a shell prompt. The syntax for that is ssh [username
@]hostname
command
. For example, if you want to execute the whoami
command on penguin.example.com
, type:
~]$ ssh [email protected] whoami
[email protected]'s password:
john
After you enter the correct password, the username will be displayed, and you will return to your local shell prompt.