Это старая версия документа!
Содержание
ssh. Генерация и установка ключа
SSH может авторизоваться не по паролю, а по ключу. Ключ состоит из открытой и закрытой части. Открытая кладётся в домашний каталог пользователя, «которым» заходят на сервер, закрытая — в домашний каталог пользователя, который идёт на удалённый сервер. Половинки сравниваются (утрированно) и если всё ок — пускают. Важно: авторизуется не только клиент на сервере, но и сервер по отношению к клиенту (то есть у сервера есть свой собственный ключ). Главной особенностью ключа по сравнению с паролем является то, что его нельзя «украсть», взломав сервер — ключ не передаётся с клиента на сервер, а во время авторизации клиент доказывает серверу, что владеет ключом (та самая криптографическая магия).
Управление ключами
Генерация ключа
- Генерация ключа:
ssh-keygen -t rsa
Вывод команды:
Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa):
Нажать на ENTER
Ввод пароля (если хотите входить без пароля, то нажать ENTER)
Enter passphrase (empty for no passphrase):
Ввести пароль еще раз (если без пароля то нажать ENTER)
Enter same passphrase again:
Общий вывод команды:
pavel@debian:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/pavel/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/pavel/.ssh/id_rsa. Your public key has been saved in /home/pavel/.ssh/id_rsa.pub. The key fingerprint is: c1:70:c3:6f:92:62:94:f7:e4:c2:da:c2:61:0c:af:db pavel@debian The key's randomart image is: +--[ RSA 2048]----+ | .+o | | . ++o. | | * ++o | | X =.o | | B =So | | o ++ | | o | | . E | | | +-----------------+
- Смена существующего пароля:
ssh-keygen -p
Структура ключа
~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать. Если вы в письмо/чат скопипастите его вместо pub, то нужно генерировать новый ключ.
Установка ключа на сервер
- Для установки SSH ключа на сервер использовать команду:
ssh-copy-id user@192.168.0.100
user - имя пользователя 192.168.0.100 - адрес сервера
Теперь для входя на сервер можно воспользоваться командой:
ssh 'user@192.168.0.100'