This article explains how to set up passwordless login with PuTTY. Make sure you have first configured PuTTY before proceeding with this article.
These instructions can also be used to create and assign SSH keys to an admin/root user on a Dedicated Server.
Creating a key pair
- Open the puttygen.exe file you downloaded when configuring PuTTY. You’ll use this to create your private/public keypair.
- In the PuTTY Key Generator box, make sure the radio button at the bottom is selected for RSA.
- Click the Generate button.
- Move your mouse around the box to help generate the keys.
- Once the key is created, a new pop-up box appears:
- On the bottom right, there are buttons named Save public key and Save private key – save both to your computer.
- When you save the public key, name it something like dreamhostpublickey. Do not manually add the extension as that isn’t necessary.
- When you save the private key, name it something like dreamhostprivatekey and be sure to save it in a secure location on your computer. Again, do not manually add the extension as that isn’t necessary.
- When saving, you are prompted with a message about a passphrase.
If you're creating keys for MySQL Workbench
If you're creating a key pair for MySQL Workbench, you must export the private key in OpenSSH format.
- Click the Conversions tab and select Export OpenSSH key.
- Save this to your computer without an extension.
- You can now use this key to import into MySQL Workbench.
Uploading the public key to your server
- Upload the public key you just created to your DreamHost user's home directory. You can use an FTP client such as Filezilla to do this.
- Log in to your DreamHost web server through PuTTY.
- Navigate to your user's /home directory.
[server]$ cd ~
- Create an /.ssh directory by running this command:
[server]$ mkdir .ssh
- Change the permissions on this directory to 700.
[server]$ chmod 700 .ssh
- While still in your user's home directory, append the public key you just uploaded to a new file named authorized_keys which is located in the /.ssh directory by running this command:
[server]$ ssh-keygen -i -f dreamhostpublickey >> ~/.ssh/authorized_keys
This appends the dreamhostpublickey you uploaded from your home computer into a new file named authorized_keys. Just make sure the name of the public key file in the command is the name of the file you uploaded.
- Adjust permissions by running this command:
[server]$ chmod 600 ~/.ssh/authorized_keys
Then remove the original dreamhostkey.pub file:
[server]$ rm dreamhostpublickey
Now the key sits on the server (protected from access by others)
- Log out of PuTTY and start the program up again.
- When the program restarts, open the configuration box and click the Connection > Data category on the left.
- Enter your DreamHost SHELL username in the first field which is named Auto-login username.
- In the same configuration box, click Connection > SSH > Auth.
- Click the Browse button and navigate to the location on your computer where you saved your dreamhostprivatekey file.
- On the configuration box, click the Session category and enter the following:
- Host Name: yourserver.dreamhost.com (This is your DreamHost servername)
- Port: 22
- Connection Type: SSH
- Saved Session: Enter a new name
- Click the Save button.
- Open PuTTY and click the new saved session you created for the passwordless login, then click the Open button. You are logged in without a password prompt.
The first time you log in, you will see a security warning about the server's host key. You can verify the key using the following article:
After you have verified the key, click the Accept button.
If the PuTTY console responds with Server Refused Our Key, this may indicate the public key PuTTY generated is not in a form the remote system recognizes or can use to authenticate your access. Refer to the following link for instructions on how to edit the public key file to a format the remote server recognizes: