Как сформировать ключи для OpenSSH

Оригинал был взят отсюда.

  1. Генерируем пару ключей - публичный и приватный.
    $ ssh-keygen -t rsa -f ~/.ssh/vitalkadrug
    
    В результате в каталоге ~/.ssh будут созданы два файла:
    • vitalkadrug - секретный ключ (никому его не давай)
    • vitalkadrug.pub - публичный ключ. Раздавай его направо и налево.
  2. Инсталляция секретного ключа на локальном хосте:
    $ echo "Host *" >~/.ssh/config
    $ echo "IdentityFile ~/.ssh/vitalkadrug" >>~/.ssh/config
    
  3. Инсталляция публичного ключа на удаленном хосте. В конец файла ~/.ssh/authorized_keys добавляем содержимое файла ~/.ssh/vitalkadrug.pub, одной большой строкой.

На CentOS/RedHat с включенным SELinux потребуется выполнить еще одну команду:
# restorecon -Rv ~/.ssh

Добавить позже

Как закидывать Pub часть. Простейший способ, который есть не везде:
inky@laptop:~$ ssh-copy-id root@server -p22
У нас спросят пароль.
После этого мы сможем подключаться к серверу по ключу. И спрашивать у нас будут пароль ключа (если будут). Всё это актуально, если вы не отключили авторизацию по ключам на сервере.
Если у вас нет утилиты ssh-copy-id, то вам нужно закинуть содержимое файла id_dsa.pub в ~/.ssh/authorized_keys одной строкой. Например:
inky@laptop:~$ cat ~/.ssh/id_dsa.pub | ssh user@server "touch ~/.ssh/authorized_keys && tee ~/.ssh/authorized_keys" && ssh user@server "cat ~/.ssh/authorized_keys"
Возьмите в привычку всегда делать вот такое:
inky@laptop:~$ chmod -R 600 ~/.ssh/
user@server:~$ chmod -R 600 ~/.ssh/
Ну и да. Если вы сохранили ключ в недефолтное место, то используйте параметр -i (и для ssh-copy-id, и для ssh):
inky@laptop:~$ ssh-copy-id -i /somedir/id_dsa.pub user@server
inky@laptop:~$ ssh -i /somedir/id_dsa.pub user@server
[11:23:13] Владимир Лончаков: и вот такой вариантик добавь еще:
cat tempfile |ssh burly 'sh -c "cat - >>~/.ssh/authorized_keys"'
Append tempfile to your authorized_keys file on burly
[11:23:27] Владимир Лончаков: т.е. 3 варианта получается
[11:23:36] Владимир Лончаков: вполне все красивые! ))

-- VitalyDruzhinin - 2009-11-12
Topic revision: r3 - 2014-08-03, VitalyDruzhinin
 

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback