Linux. Авторизация SSH только по ключу

Каждый раз, когда вы разворачиваете linux-сервер и поднимаете на нам sshd с дефолтными настройками в мире грустит один котик безопасник :) Ведь если пароль для рута достаточно прост — не пройдет и 10 минут, как «хакеры» получат доступ к вашему новому серверу, ну а дальше будут делать с ним все, что их грязной душонке угодно… Итак, что бы себя обезопасить и впредь не думать о таком — настраиваем SSH авторизацию по ключу!

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

ssh-keygen -t rsa -b 2048

Вводим полный путь и название файла, в котором будет лежать наш приватный ключ. Как только генерация закончится будут созданы 2 файла: один с названием, которое вы указали и второй с тем же названием и расширением .pub

Копируем содержимое .pub файла на ваш сервер в файл:

$mkdir ~/.ssh
$echo "<содержание файла .pub>" >> ~/.ssh/authorized_keys

Выставляем соответствующие права на каталог и на сам файл. Без этого SSH авторизация по ключу будет недоступна!

$chmod 600 ~/.ssh
$chmod 700 ~/.ssh/uthorized_keys

Идем править конфигурационный файл демона, находящийся в /etc/ssh/sshd_config. Ищем в нем следующие параметры и правим на значения, указанные ниже (если параметр закомментирован символом # — убираем его)

PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no

На своей машине настраиваем подключение при помощи сгенерированного ключа (без расширение .pub) и рестартуем демон sshd:

service sshd restart

Все, с текущего момента можно смело подключаться к серверу используя наш ключ. Если нужно настроить еще один сервер таким же способом — генерировать новый ключ для SSH подключения не нужно, просто скопируйте содержимое уже сгенерированного .pub ключа.

Вам понравиться