Добавено на: 2014-02-18 11:03:42

Добавяне на SSH ключове за login в  shell без парола (Linux)

За да се връзвате към отдалечен хост през SSH или SCP без да ви иска парола (подходящо за bash скриптове например) можете да създадете двойка ключове, чрез които да се удостоверявате

1. Проверете дали на локалния и отдалечения хост имат openSSH
На локалния хост пишем командата ssh -V:
root@local-host:~# ssh -VИ се появява нещо подобно:
OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
Същата команда пи шем и на отдалечения хост:
root@remote-host:~# ssh -VИ се появява нещо подобно:
OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
2. Чрез командата ssh-keygen -t rsa създайте нова двойка SSH ключове на локалния хост, от който ще се връзвате.
Желаем настройки по подразбиране, така че когато ни попита за име на файл, където да запише ключа, натискаме ENTER.
root@local-host:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):<Натискаме Enter>
Enter passphrase (empty for no passphrase):<Натискаме Enter>
Enter same passphrase again:<Натискаме Enter>
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ce:0c:ec:64:d8:f8:ac:9e:0c:d2:5c:5b:9c:39:1e:fb root@local-host
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|     * o         |
|    + & S        |
| o . X O         |
|. + . * +        |
| . o o .         |
|   .=   E        |
+-----------------+

3. Копираме файла с публичния ключ на отдалечения хост
root@local-host:~# scp ~/.ssh/id_rsa.pub root@remote-host:~
id_rsa.pub                                  100%  392     0.4KB/s   00:00

4. На отдалечения хост добавяме публичния ключ във файла с доверени ключове
root@remote-host:~# cat ./id_rsa.pub >> ./.ssh/authorized_keys
Имайте предвид, че ключа важи за хоста И потребителя. Ако искате да влезете като друг потребител със същия ключ, няма да ви пусне.