Прозрачная SSH авторизация с использованием ключей шифрования

Для частого подключения по SSH, можно настроить прозрачное подключение, используя ключи шифрования. Данный метод подключения, не только избавит от постоянного ввода паролей при подключении по SSH, но и сделает подключения более безопасным. При прозрачном подключении никто не сможет войти на сервер не обладая приватным ключом и кодовой фразой если она задана.

 

Генерация SSH ключей в Linux системах

Генерация ключей производится с помощью утилиты ssh-keygen, входящую в состав OpenSSH.

Для генерации DSA-ключей (длина ключа всегда — 1024 бита):

На выходе в каталоге ~/.ssh/ получаем файлы: id_dsa, id_dsa.pub.

Для генерации RSA-ключей (длина ключа по-умолчанию — 2048 бит):

На выходе в каталоге ~/.ssh/ получаем файлы: id_rsa, id_rsa.pub.

Пояснения по с генерированным файлам:

id_rsa (id_dsa) — секретный ключ (остаётся у клиента).
id_rsa.pub (id_dsa.pub) — открытый ключ (передается на хосты к которым будем подключатся).

 

Генерация ключей производится на том хосте с которого хотим подключатся на другие хосты. На пример с генерируем 4096 битный RSA-ключ:

Нажимаем Enter, чтобы ключи были сохранены в директорию по-умолчанию:

Можно задать использование кодовой фразы, но это не обязательно. Если задать кодовую фразу, то при каждом подключении по SSH, будет запрошен ввод кодовой фразы, что безусловно большой плюс к безопасности, на тот случай если закрытый ключ попадет к злоумышленникам. Но недостаток использования кодового слова, это необходимость его ввода каждый раз при подключении по SSH. В моем случае это не нужно, поэтому нажимаю Enter, Enter.

Итоговый вывод генерации ключей вот такой:

Теперь передаем публичный RSA-ключ (id_rsa.pub) на хост к которому хотим подключатся по SSH:

Вывод:

Так же можно добавить публичный ключ в ручную, выполнив команду:

Теперь можем прозрачно подключится к хосту:

 

Для того чтобы отключить аутентификацию по паролю. Для обеспечения большей безопасности хоста. На хосте в файле /etc/ssh/sshd_config меняем параметр на:

 

Генерация SSH ключей в ОС Windows

Для подключения по SSH в Windows обычно используется утилита PuTTY (скачать ее можно тут). Разберем как в PuTTY использовать прозрачное подключение по SSH и генерировать SSH ключи. Как и в случае с Linux системами нужно сперва с генерировать SSH-ключи.

 

Запускаем PuTTY Key Generator (PUTTYGEN). Выбираем тип ключа RSA, можно при желании изменить битность генерируемого ключа, оставляю по-умолчанию 2048. Нажимаем Generate, водим мышкой для генерации.

RSA-ключ успешно получен. При желании можно задать кодовое слово в полях Key passphrase, Confirm passphrase.

Сохраняем публичный ключ Save public key, указываем название его id_rsa.pub.

Сохраняем приватный ключ Save private key, указываем произвольное имя.

Теперь передаем публичный RSA-ключ (id_rsa.pub) на хост к которому хотим подключатся по SSH. Запускаем PSFTP из скачанного набора утилит PuTTY.

Подключаемся к нужному хосту командой (прим. 10.7.8.253):

Если впервые подключаемся, то пишем (Y) на запрос использования ключа из кеша. Далее указываем логин и пароль для подключения.

Копируем id_rsa.pub командой:

Вывод:

Скопированный RSA-ключ необходимо добавить на удаленном хосте в ~/.ssh/authorized_keys. Подключаемся с помощью PuTTY на удаленный хост и выполняем команду:

Для того чтобы прозрачно подключатся, нужно приватный ключ добавить в SSH-агента (PAGEANT). Запускаем его, на иконке в трее нажимаем правой кнопкой мыши и выбираем Add Key. Указываем приватный ключ.

Двойным щелчком по иконке SSH-агента в трее, выведет нам список всех добавленных приватных ключей. Видим что добавленный ключ присутствует.

Запускаем PuTTY и подключаемся к хосту. Вводим логин и организовываемся без пароля. При подключении видно что использовался RSA-ключ:

 

Вот так выполняется организация доступа к SSH по ключам шифрования.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Оставить ответ

семнадцать − четыре =