Помимо распространенного способа подключения к ssh сервера по паролям, есть более удобный по ключам. При аутентификации сервер запрашивает не пароль, а ключ, происходит это "прозрачно" для пользователя, то есть без лишних вопросов.
Преимущества
- Удобство. Не нужно каждый раз вводить пароль при подключении к серверу. Достаточно сделать это один раз при первом подключении. Нужен всего один ключ для доступа на все сервера.
- Безопасность. Невозможно подобрать пароль к серверу, если доступ только по ключам.
- Масштабирумость. ОС располагает инструментом позволяющим автоматически создавать пользователя на всех необходимых серверах.
Общий подход
Пользователем генерируется пара ключей: публичный и приватный. Приватный ключ всегда остается на пользовательском ПК, к тому же имеет пароль (запрашивается при генерировании ключей), а публичный ключ передается в ОС, который мы кладем на необходимые сервера.
Создание ключей в *nix/Mac
- Из командной строки запускаем комманду ssh-keygen
- На вопрос об имени файла нажимаем Enter
- Затем два раза вводим пароль.
Должно получиться примерно так как указано ниже:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: 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: 35:ac:33:60:8a:2f:30:96:a7:68:23:51:9f:29:f7:97 root@deb7 The key's randomart image is: +--[ RSA 2048]----+ | | | . | | . o + | | ..o = . o . | |+oo.* S | |o+o+ . + | |o+. . . E | |o .. . | | | +-----------------+
В итоге получилось:
- ~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
- ~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать. ПРОСЬБА НЕ ПУТАТЬ! Перепутав хоть раз, надо будет создавать новые ключи.
Создание ключей в Windows
1.Скачиваем архив putty.zip с официального сайта PuTTY;
2.Распаковываем и запускаем PUTTYGEN.EXE
3.Выбираем ключ SSH-2 RSA и длину 2048 бит. Жмем «Generate».
4. Заполняем кодовую фразу и комментарий к нему, копируем текст из Public key for pasting into OpenSSH и передаем его Отделу ОС.
5. Сохраняем приватный ключ как mykey.ppk и публичный как id_rsa.pub
