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:
- Click both the Save public key and Save private key buttons that appear on the bottom right to save these keys 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.
Click Yes to save without 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 the following 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 the following 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 the following command:
[server]$ chmod 600 ~/.ssh/authorized_keys
Then, remove the original dreamhostkey.pub file:
[server]$ rm dreamhostpublickey
The key is saved 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.