How to Connect to an SSH Server from Windows, macOS, or Linux

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 tunnelingSCP file transfers, and other things.

Windows

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.

Download PuTTY and launch it to get started. You can download either an installer that included PuTTY and related utilities. or a putty.exe file that can function as a portable application.

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.

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:

ssh username@ssh.server.com

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 username@ssh.server.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.

Chris Hoffman is a technology writer and all-around computer geek. He's as at home using the Linux terminal as he is digging into the Windows registry. Connect with him on Twitter.