SSH без пароля. Самая простая инструкция в мире
Надоело каждый раз вписывать пароль из 15 знаков, заходя на Linux-сервер по SSH. Настроил беспарольный доступ. Ниже самая простая в мире инструкция по настройке.
Сертификаты, пароли, публичные и приватные ключи. В топку! Всего две строки и готово:
ssh-keygen
ssh-copy-id user@example.com
Невероятно, но это всё. Теперь по команде ssh заходим на удаленный сервер без пароля.
Нюансы SSH
- ssh-keygen спросит пароль на стадии генерации ключа. Параноики могут его задать и существенно поднять безопасность доступа к серверу. Но мы этот случай не рассматриваем (см. заголовок).
- Без пароля тоже все довольно безопасно. На сервер передается публичный ключ и его воровство абсолютно ничего не даст злоумышленнику. Приватный ключ локально хранится у вас на компьютере, где запускался ssh-keygen. Вот этот файлик важно не прохлопать.
- ssh-keygen запускается на одном компьютере только один раз. Далее с помощью ssh-copy-id можно закидывать публичный ключ на любое количество любых ssh-серверов.
Безопасен ли доступ по SSH без пароля
Да. Используется алгоритм RSA и длина ключа 2048 бит. Такой же стойкости шифрование используется для защиты банковских соединений по SSL. Если люди доверяют этому алгоритму свои миллионы долларов, то уж доступ к вашему серверу на Linux можно доверить и подавно. Но еще раз хочу напомнить, что самое слабое звено в защите — ваш приватный ключ. Если каккер взломает ваш компьютер, то сразу же получит и доступ к серверу. Если ключ сгенерирован на ноутбуке и потеряете ноутбук — нашедший получит доступ и к серверу. Правда, во втором случае можно успеть отозвать публичный ключ с сервера.
Комментарии
jtad
11 августа, 2016 - 19:10
я вчера еще заморачивался с час с ssl для monit, потом про сертификаты читал — дремучий лес. Было бы там также просто — одной командой сгенерил, другой забросил.
pomodor
11 августа, 2016 - 19:37
Так генерация липового самоподписанного сертификата — дело простое. И именно в одну строчку.
jtad
11 августа, 2016 - 20:42
э.., действительно, похоже я просто забыл создать сертификат в /etc/pki/tls/certs. Теперь ssl работает. Мне показалось странным, что один и тотже сертификат должен лежать одновременно в /etc/pki/tls/certs и в /var/cert. Столько времени копал в неправильном направлении. Правда, зачем сертификат в /etc, это же не приватный ключ?
Комментировать