Авторизация на сервере через 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-keygen
Чтобы подключится к удаленному серверу заходим в SSH-клиент, на примере использован клиент PuTTY, и передаем ему сохранный публичный ключ, чтобы SSH-клиент знал по какому ключу подключаться к серверу. Вводим адрес удаленого сервера и переходим в блок Auth.
Через кнопку Browse выбираем путь к сохраненному ранее публичному ключу и жмем Open,
Далее в открытой консоли указываем имя пользователя и жмем Enter.
Готово, подключение к серверу по SSH выполнено. Приятной работы.