TABLE OF CONTENTS
- Creating a VPS Without SSH using Password Login Only
- Setting up an SSH key pair
- Connecting to VPS using SSH (Mac OS X & Linux)
- Connecting to VPS using SSH (Windows)
- What is Secure Shell (SSH)?
If you are new to working with Linux servers and have recently created a virtual server with SkySilk, then you will need to be familiar with Secure Shell or SSH. This guide will also apply to any machines that have the "Password Disallowed" option enabled, as SSH Keys will be the only way to gain access to those machines.
Creating a VPS Without SSH using Password Login Only
SSH KeyGen is always recommended, but if you would like to bypass this guide altogether, SkySilk gives the option to create a VPS without needing to generate an SSH Key, using only a password if desired. If you choose to go this route, make sure your password is extremely secure as it is easier for unwanted parties to gain access.
To create a virtual server without having to create and set up an SSH key, simply deploy a new container from your VPS dashboard and chose "Password Allowed." Set your password, click GO!, and your machine will be running and ready to access using your password only.
Setting up an SSH key pair
During the setup process, you will be given the option to provide a public SSH key for the virtual machine. This is the hashed key which the Linux VPS will compare against any new incoming connection.
If you've created a machine before, you can select a previously used PuTTY SSH key from the drop-down menu.
Otherwise, you will need to generate a public key pair for your new VPS.
Once you have generated the public key, saved the private key on your computer, and attached the public key to the server, you will be able to log in to your Linux VPS.
Connecting to VPS using SSH (Mac OS X & Linux)
If you are connecting from a Unix-like machine (Mac OS or Linux), then the command to connect is simply:
ssh [user]@[ip address]
where [user] is your user name, typically root, and [ip address] is the ip address of the virtual machine.
# for example: 'ssh [email protected]'
Connecting to VPS using SSH (Windows)
For those with windows, you will need a third party program to connect to the server. PuTTY is the most popular program used for SSH connections, and you can find a PuTTY Download here if you don't have it already.
Once you are ready to connect with PuTTY SSH, you will need to specify the private key to use for authentication.
This can be done by expanding the SSH menu of the Connection settings and clicking on the Auth menu.
From there, click on the "Browse" button and navigate to the private key that is saved on your computer. Once you have loaded the private key, navigate back to the Session menu.
Lastly, make sure that SSH is selected and that the port is 22. Enter the IP address of your VPS and click open. Voila! A new window has opened and you are connected to your machine. Welcome to the wonderful world of Linux!
[OPTIONAL] You may enter the username that you are connecting with before the IP address, as in the example above, to connect using a specific user. However, a password or alternate SSH key may be required depending on how you've set things up.
What is Secure Shell (SSH)?
SSH creates an encrypted tunnel between your computer (or smart device!) and the remote machine and is commonly used for command-line login. While the connection between your computer and the remote server is very secure, there is a security vulnerability that has been exploited since the genesis of remote login and will continue to be exploited as long as the server is listening to remote login ports.
In short, anyone may attempt a brute-force attack on the SSH server as long as the server is running, and you can see these attempts by checking the authentication logs:
cat /var/log/auth.log | less
Having a secure password is generally enough to thwart these attacks but we strongly recommend that you use a public key for authentication, otherwise you may get a visit from malicious users!
This is why we require an SSH key during VM setup and is also likely the reason why you cannot log in using the root password created during setup. Essentially, the public key is the lock that you install on the server, and the private key is the only key that will fit the lock. Anyone attempting to log in to the server without a private key will be met with an "access denied" error, regardless of whether the username and password were correct.