ZhoubaWiki:HowToCreateSSHKeys
How to create SSH keys
SSH keys serve as a means of identifying yourself to an SSH server using public-key cryptography and challenge-response authentication. One immediate advantange this method has over traditional password authentication is that you can be authenticated by the server without ever having to send your password over the network.
Installation
To begin, install the following package:
sudo aptitude install openssh-server
Generating
If you don't have the private key, then you should make one in ~/.ssh
. Write to:
ssh-keygen -t rsa OR ssh-keygen -t dsa
- RSA key type is recommended
- Next you will be asked where you want save a private key. You can let the default location.
You can also specify the filename on the command line with the -f flag like so:
ssh-keygen -t rsa -f /path/to/my_rsa
Now you have id_dsa
and id_dsa.pub
in ~/.ssh
folder.
- id_dsa is your private key
- id_dsa.pub is your public key
Next step is create ~/.ssh/config
with hosts.
host host1 hostname x.x.x.x user user1 identityfile /path_to/.ssh/id_dsa compression yes protocol 2 host host2 hostname x.x.x.x user user2 identityfile /path_to/.ssh/id_dsa compression yes protocol 2 ...
chmod 640 config
Configuration host server
Now create a file ~/.ssh/authorized_keys
in user's home directory, which will be used to connect.
Into this file you must insert content of id_dsa.pub from your server.
Example:
ssh-dss AAAAB3NzaC1kc3MAAACBAMGypTQm9pN93QEWJbd3zINUsiTFq77ifTB6yT/eQcOBBxR67Wa51susnNXo1haG3MRmnRDCnmdEu/pKdsHDSxzdb2Vo5DfQozJzB+2/m39dO6eLJ4MwCGaN1Qp9PII+GpYZ0nk9VigZXu8ajalslba6NTRbDX00ZGku8zdod4yPAAAAFQCCnyQNDmF7NxDEWwsnb9AP18KwNQAAAIEAg1rKm4xKi2xjkp7h455UK33hZLtDi4Zzsc/nBOxNb0bOfALwfRrsuSWhc1qJtqdDsVvSUBC9aecfI+t8sff+/jHmCRF3Ad7W83LqqEF0V4nbTRhyoCI4bwl/AI52bg+7B1MhzqYwFpAtxobJ+OVVeFjyG13A6bnjuKJF1vgspVQAAACAX0kimyRa+0eiUGdd7Tc/OjnlDsTUIuBV3kjiJMj7N3ErayMwUU4RRaZNB5Xy31oRqEfW0VVujvAtc1tpeZ2FROU2+0CREmSympKaRRh7HVvrLzXsM8uJYYSDOb8uitqsXxBxuee85VsbNAZpqteLdNjUF5es560hnotBk/vn4NQ= your@machine
Connection
Now we can connect to host server.
Example:
ssh host1
or
ssh host2