Авторизация на сервере через SSH ключ

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

Создавайте надежные пароли с помощью бесплатного онлайн сервиса генератор пароля — просто, быстро и безопасно.

Создания ключей в диструбибах Linux

1) Генерируем открытый и закрытый ключ на локальном компьютере,  через команду:

ssh-keygen 

Информацию утилете и справку можно получить через команду:

ssh-keygen --help

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

ssh -copy-id -i ~/.ssh/id_rsa.pub username@server

где username - имя пользователя в системе;

server - адрес сервера.

Создания ключей в ОС Windows

У Windows нет встроенной утилиты по генерации SSH ключей поэтому нужно предварительно скачать стороннюю утилиту на локальный компьютер и генерировать  ключи в ней. На примере будет использоваться популярный инструмент PuTTYgen от разработчиков SSH-клиента  PuTTY. Скачать его вы можете на их официальном сайте по ссылке: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

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

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

3. В результате система создаст приватный и публичный ключ.  Приватный ключ необходимо сохранить на локальный компьютер.

Если необходимо можно на приватный ключ установить пароль, если этого не нужно просто жмем на Yes и сохраняем ключ. 

4.Следующим шагом добавляем публичный ключ на сервер. Для этого далем вход по SSH на удаленный сервер и прописываем в консоли строку cat >> .ssh/authorized_keys << EOF, жмем Enter, вставляем сгенерированный публичный ключ и снова жмем Enter.

Если у вас до этого не было SSH ключей на сервере предварительно перед добавлением ключа нужно создать директорию .ssh.

 Это можно сделать через команду:

ssh-keygen

Чтобы подключится к удаленному серверу заходим в SSH-клиент, на примере использован клиент PuTTY, и передаем ему сохранный публичный ключ, чтобы SSH-клиент знал по какому ключу подключаться к серверу. Вводим адрес удаленого сервера и переходим в блок Auth.

Через кнопку Browse выбираем путь к сохраненному ранее публичному ключу и жмем Open,

Далее в открытой консоли указываем имя пользователя и жмем Enter.

Готово, подключение к серверу по SSH выполнено. Приятной работы.