ssh Command: Tutorial & Examples
Connect to a remote host using the Secure Shell (SSH) protocol
The ssh
command is a Linux utility that allows you to securely connect to a remote server using the Secure Shell (SSH) protocol. It is commonly used to remotely access and manage
servers, as well as to securely transfer files between systems.
To use the ssh
command, you will need to specify the username and the IP address or domain name of the remote server that you want to connect to. For example, to connect to a
remote server with the IP address 123.456.789.101
using the username user
, you might use the following command:
ssh user@123.456.789.101
This will normally prompt you for your password, and if the login is successful, you will be connected to the remote server and will be able to run commands and perform other tasks as if you were logged in directly on the server.
It is generally considered more secure to use SSH keys instead of passwords for authentication when connecting to a remote server. SSH keys are cryptographic keys that are used to authenticate SSH connections. They are more secure than passwords because they are much harder to crack and are not vulnerable to common types of attacks such as dictionary or brute force attacks.
To use SSH keys for authentication, you will need to generate a public and private key pair on your local machine using the ssh-keygen
command. You will then need to copy the
public key to the remote server and configure it to allow you to log in using the private key.
To execute a command on a remote machine, you can use the -t
option to force ssh
to allocate a pseudo-terminal and pass the command as an argument. For example, to list the
contents of the home directory on the remote server, you might use the following command:
ssh user@123.456.789.101 -t "ls ~"
This will execute the ls
command on the remote server and display the output on the local terminal.
ssh
is a powerful and flexible tool that is widely used to remotely access and manage servers. It is available on most Linux distributions and is commonly used in combination
with other command-line tools to automate tasks and manage large numbers of servers.