8.6. Configuring an OpenSSH Client
8.6.1. Using the ssh
Command
The ssh
command is a secure replacement for the rlogin
, rsh
, and telnet
commands. It allows you to log in to a remote machine as well as execute commands on a remote machine.
Logging in to a remote machine with ssh
is similar to using telnet
. To log in to a remote machine named penguin.example.net, type the following command at a shell prompt:
ssh penguin.example.net
The first time you ssh
to a remote machine, you will see a message similar to the following:
The authenticity of host 'penguin.example.net' can't be established.
DSA 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 continue. This will add the server to your list of known hosts (~/.ssh/known_hosts
) as seen in the following message:
Warning: Permanently added 'penguin.example.net' (RSA) to the list of known hosts.
Next, you will see a prompt asking for your password for the remote machine. After entering your password, you will be at a shell prompt for the remote machine. If you do not specify a username the username that you are logged in as on the local client machine is passed to the remote machine. If you want to specify a different username, use the following command:
ssh username
@penguin.example.net
You can also use the syntax ssh -l username
penguin.example.net
.
The ssh
command can be used to execute a command on the remote machine without logging in to a shell prompt. The syntax is ssh hostname
command
. For example, if you want to execute the command ls /usr/share/doc
on the remote machine penguin.example.net, type the following command at a shell prompt:
ssh penguin.example.net ls /usr/share/doc
After you enter the correct password, the contents of the remote directory /usr/share/doc
will be displayed, and you will return to your local shell prompt.