How To Use SSH to Connect to a Remote Server
Introduction to Use SSH
One essential tool to master as a system administrator is SSH.
SSH, or Secure Shell, is a protocol used to securely log onto remote systems. It is the most common way to access remote Linux servers.
In this guide, we will discuss how to use SSH to connect to a remote system.
Core Syntax
To connect to a remote system using SSH, we’ll use the ssh
command.
If you are using Windows, you’ll need to install OpenSSH or alternatives like WSL. On Mac or Linux, ssh
is available by default.
The basic syntax for connecting is:
ssh remote_host
If your remote username differs from your local one, use:
ssh remote_username@remote_host
To exit an SSH session, type:
exit
How Does SSH Work?
SSH works by connecting a client program to an sshd
server. Use SSH server with:
sudo systemctl start ssh
How To Configure SSH
To configure SSH, edit /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
- Port: Default is 22. Change only if needed.
- PermitRootLogin: Set to
no
for better security. - LoginGraceTime: Adjust login time.
- X11Forwarding: Enable for GUI access with
-X
.
After changes, reload SSH:
sudo systemctl reload ssh
How To Log Into SSH with Keys
Key-based authentication uses a private and public key pair. Generate keys with:
ssh-keygen -t rsa
Transfer your public key to the server:
ssh-copy-id remote_host
Client-Side Options
Match SSH server configurations with flags like:
ssh -p port_number remote_host
Run single commands remotely:
ssh remote_host command_to_run
Enable X11 forwarding:
ssh -X remote_host
Disabling Password Authentication to Use SSH
Enhance security by disabling password authentication. Edit /etc/ssh/sshd_config
:
PasswordAuthentication no
Reload the SSH daemon:
sudo systemctl reload ssh
Conclusion for Use SSH
Learning SSH will enhance your cloud computing capabilities. Its secure and lightweight design makes it invaluable for diverse scenarios. It simplifies remote server management, ensures encrypted connections, and supports advanced functionality like key-based authentication. With SSH, you can securely transfer files, execute commands, and manage multiple systems efficiently. Its flexibility makes it essential for developers, administrators, and anyone handling remote systems.