How To: Create SSH Remote Login Mac OS X and Force Private Key Authentication Only - Putty

How To: Create SSH Remote Login Mac OS X and Force Private Key Authentication Only - Putty

This guide will show you how to enable SSH (remote login) on your Mac OS X machine and connect to it using a private key file (.ppk) while disabling password logins (more secure). In this example, we will setup the remote connection using Putty.

 

  1. Enable SSH on your Mac. Go to System Preferences -> Sharing -> Remote Login.
 
Mac x remote login ssh
 
  1. Now, we will generate our private and public SSH keys on our Mac. Open Terminal and type the following commands.
 

Create a .ssh directory. This directory will be hidden in your Mac X User home path.

mkdir .ssh ; cd .ssh

 

Generate SSH private and public keys.

ssh-keygen -b 1024 -t rsa -f id_rsa -P ""
 
  1. Now, we want to create an authorized_keys file in the same directory to allow remote hosts to connect to our Mac using the key file we just generated.
 

Create the authorized_keys file in Terminal.

touch authorized_keys
 
  1. Let’s take a look at the keys and authorized keys files we just created. At the menu bar, select Go -> Go to Folder… and type /Users/USER/.ssh replacing USER with your Mac X username. We see 3 files.
 
Mac ssh directory public private keys
 

authorized_keys - your shared public key file

id_rsa     - your private key

id_rsa.pub - your public key

 

Mac ssh private public keys

 

  1. We want to copy our Public Key exactly into our authorized_keys file. Open id_rsa.pub and copy the text into your authorized_keys file. Save the file. (To do this, you can drag both files to your Desktop to gain access to perform the copies if needed, then drag back to the .ssh folder). See example below.
 
Mac ssh authorized keys file
 
 
  1. In order to use Putty to connect via SSH via a private key, we must convert the id_rsa private key to Putty format (.ppk). We will use PuttyGen.exe to convert our id_rsa private key to a .ppk file. Download and install PuttyGen here.
 

Note: You can run PuttyGen.exe on Mac OS X following this guide. Otherwise, you will need to run PuttyGen on a Windows machine.





  1. Launch PuttyGen.exe and click Load.
 
Puttygen load rsa key mac
 
  1. For Files of Type select All Files. Locate and select your id_rsa private key.
 
Puttygen id rsa all files
 
  1. Click Save private key. Click Yes to save without a password (this is not needed). You can name the file whatever you want.
 
Puttygen save private key
 

You now have a .ppk file we can use for our Putty connection. Save this key somewhere safe and never share it with anyone!

 

Next, we will configure SSH on our Mac to only allow key authentications and disable password authentications. This will immediately drop a connection made to our Mac unless a key file is being used (more secure).

 

Configure SSH on Mac OS X to Force Private Key Authentication Only

 

  1. At the menu bar, select Go -> Go to Folder… and type /etc/ssh/ and hit return.
 
  1. Open the sshd_config file. (To edit this, file you can drag it to your Desktop to edit then drag back to same folder)
 
 
Mac os x ssh folder sshd config file
 
  1. We need to change 2 lines in sshd_config file.
 

Change UsePAM no

 

Mac sshd use pam no config

 

Uncomment and change PasswordAuthentication no

 

Mac os x sshd passwordauthentication no

 

  1. Save the ssh_config file.
 
  1. Restart Mac X remote login for our changes to take affect. Go to System Preferences -> Sharing -> Remote Login and turn off / on.
 

Now, we can use Putty to create an SSH connection to our Mac we generated our keys on. Download and install Putty here.

Note: You can run Putty.exe on Mac OS X following this guide.

 

Open Putty and create a new connection. We will point to our private key file (.ppk). Go to Connection -> SSH -> Auth and load the .ppk file here. This can be tricky, ensure your creating a new connection in Putty and saving it so it remembers the key we just imported.

 

Mac putty load ppk file

 

Try connecting. You will receive a login prompt for username. This will be the user of your Mac (any other username you put here will fail immediately).

If successful, you will login to your shell immediately pictured below! No password needed!

 

Putty ssh key login mac successful

 

Please use the comment form to report dead links.

 

* Please use the comment form below. Comments are moderated.*



Related Posts

 

Comments

No comments made yet. Be the first to submit a comment
Friday, 22 November 2024