An SSH client allows you to connect to a remote computer running an SSH server. The Secure Shell (SSH) protocol is often used for remote terminal connections, allowing you to access a text-mode terminal on a remote computer as if you were sitting of it. It can also be used for SSH tunneling, SCP file transfers, and other things.
Windows still doesn’t offer a built-in SSH command. Microsoft made some noise about integrating an official SSH client into PowerShell back in 2015, but we haven’t heard much about it since. So the most popular and widely recommended solution for connecting to SSH servers is an open source, third-party application called PuTTY.
Update: Windows 10 now has an official SSH command you can install. It’s part of Windows 10 but is an “optional feature.”
Type the host name or IP address of the SSH server into the “Host name (or IP address)” box. Ensure the port number in the “Port” box matches the port number the SSH server requires. SSH servers use port 22 by default, but servers are often configured to use other port numbers instead. Click “Open” to connect.
You’ll see a security alert the first time you try to connect to a server. This tells you that you haven’t previously connected to this server. That’s expected, so click “OK” to continue.
If you see this warning in the future after already having connected to the server once, that indicates the server’s encryption key fingerprint is different. Either the server administrator has changed it or someone is intercepting your traffic and trying to trick you into connecting to a malicious, imposter SSH server. Be careful!
You’ll be prompted to enter the username and password for your account on the SSH server. After you do, you’ll be connected. Just close the window to end the SSH connection.
There’s a lot more you can do with PuTTY. For example, if you need to use a private key file to authenticate with the SSH server, you’ll find this option at Connection > SSH > Auth in the PuTTY Configuration window that appears when you launch the application. Consult PuTTY’s manual for more information. Here’s a fun fact: SSH private keys are technically called PEM files.
macOS and Linux
UNIX-based operating systems like macOS and Linux include a built-in SSH command that works pretty much the same everywhere. You can even use this command on Windows 10 via the Bash on Windows environment.
To connect to an SSH server from one of these operating systems, first open a terminal window. On a Mac, you’ll find this at Finder > Applications > Utilities > Terminal. On a Linux desktop, look for a Terminal shortcut in the applications menu. On Windows, install and open the Bash shell.
To connect to an SSH server, type the following command into the terminal, replacing
username with your username on the SSH server and
ssh.server.com with the host name or IP address of the SSH server:
This command will connect to the SSH server on port 22, which is the default. To specify a different port, add
-p to the end of the command followed by the port number you want to connect on, like so:
ssh email@example.com -p 2222
You’ll see a message asking you to confirm the identity of the server the first time you connect. If this is actually the first time you connected to the server, this is normal and you can type “yes” to continue.
If you’ve previously connected to the server and see this message, this indicates the server administrator has changed the key fingerprint or you’re being tricked into connecting to an imposter server. Be careful!
You’ll by prompted to type the password the user account requires on the SSH server before continuing. Once you have, you’ll be connected. Close the window or type “exit” and press Enter to end the SSH connection.
You’ll find more information on using the ssh command in the SSH manual page. You can access it by typing
man ssh at the terminal, or by viewing it in your web browser.
- › How to Use tmux on Linux (and Why It’s Better Than Screen)
- › How to Use the dig Command on Linux
- › How to Test Your Internet Speed from the Command Line
- › How to Use a Raspberry Pi as a Proxy Server (with Privoxy)
- › How to Use Linux’s screen Command
- › How to Create and Install SSH Keys From the Linux Shell
- › HTG Explains: What is Port Scanning?
- › What’s New in Chrome 102, Available Now