This article provides a basic introduction to the authentication methods available for SSH and how they can be implemented with the JITL SSH job.
UserID and Password
This is the easiest way to authenticate a user. The user ID and a password is sent to the SSH server. The password is encrypted before sending it to the server and decrypted at the server side.
Note that the password authentication must be enabled in the SSH configuration file:
Public and private Key
Passphrase: What it is and how to handle it
A passphrase is an additional protection of the key files, like a password. Every time you want to access a server by a passphrase protected key you have to enter the value of the passphrase as an additional authentication.
Note that the publickey authentication must be enabled in the
/etc/ssh/sshd_config SSH configuration file:
In addition, the private SSH-Key must be in OpenSSH-Format.
Creating the public and private key
First we generate the key with ssh-keygen.
When ssh-keygen askes for a passphrase you can enter your passphrase to add it to the key. Or you can leave it blank. Remember, the longer and stronger you make your password, the harder it will be for any malicious h4x0r (or government agency) to decrypt it. Save the key to
/home/username/.ssh/identity as recommended by the ssh-keygen program. You will also need to specify which encryption method (e.g. RSA, DSA) you want to use.
ssh-keygen generates an private OpenSSH key and a public key.
The private key looks the the key in the lines below:
If puTTYgen is used to create the priv/pub keys it is not an OpenSSH Key by default. To get an OpenSSH conform key you must export the private key to OpenSSH format.
If you want to use the private key in putty as well you have to convert the private key to the openSSH-format. This can be done with puTTYgen as well.
Moving the public key to the remote server
To be able to log in to remote systems using a pair of keys, you first have to add the public key on the remote server to the
authorized_keys file in the
.ssh/ directory in the home directory on the remote machine.
The Next action is to create a .ssh directory, and inside the .ssh/ directory create an
authorized_keys file and add the public key to the file. Make sure the file is not readable for other users/groups.
chmod 600 authorized_keys* does the trick.
For more information on SSH see:
- http://www.oreilly.com/catalog/sshtdg/ SSH, The Secure Shell: The Definitive Guide written by Daniel J. Barret & Richard Silverman, published by O'Reilly
- http://www.openssh.org/manual.html OpenSSH manual
SSH is a registered trademark of SSH Communications Security Corp in the United States and in certain other jurisdictions.