Generating public/private ssh keys

How to generate and use public / private ssh keys

This guide is tested on Centos 6
To generate RSA ssh key pair enter following command:

ssh-keygen -t rsa

To generate DSA ssh key pair enter following command:

ssh-keygen -t dsa

You will be prompted to specify a path to locate the keys

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

You can specify it or just press "enter" to accept default location.
Now you have the keys generated. The keys are id_rsa and id_rsa.pub.
Copy id_rsa.pub to remote host(s) in user directory, for example /home/alex/.ssh/ or ~/.ssh, and rename it to authorized_keys. Copying can be done with scp:

scp id_rsa.pub alex@1.2.3.4:/home/alex/.ssh/authorized_keys

If you have an issue like "command not found" install ssh clients on both sides entering:

yum install openssh-clients

Now open /etc/ssh/sshd_config on remote host and set following attributes:

RSAAuthentication yes
PubkeyAuthentication yes 
PasswordAuthentication no

Restart ssh service

/etc/init.d/sshd restart

To add one more public key to remote host simply append the key to existing authorized_key manually or using command:

cat ~/.ssh/another_one_id_rsa.pub >> ~/.ssh/authorized_keys

If you can't get why it doesn't work make sure you have selinux disabled

 

Was this answer helpful?

 Print this Article

Also Read

Sendmail [25: Connection refused] fix

If you can't receive email from the outside and got next error:  (Delivery Status Notification...

Pptpd on Centos 6

How to install pptpd server on Centos 6 NOTE than pptpd is potentially unsecure and the tunnel...

FFmpeg on Centos 6

Install repo and ffmpeg # rpm -ihv...

Cron

Cron is the daemon that can be used to schedule tasks according to time, day of the month,...

Usefull linux tools

please note: for installing some toosl you ned to connect EPEL repo first. htop -extened version...