Брутфорс (взлом с помощью перебора паролей) – одна из самых распространенных угроз в сети Интернет. Даже опытные пользователи часто используют слишком простые пароли, что делает их уязвимыми для атак злоумышленников. Как правило, подбор паролей выполняется автоматически программами-ботами. Они сканируют подсети, определяют активные IP-адреса, затем происходит попытка входа по найденному адресу.
Рекомендуется создавать пароль как минимум из 9 случайных символов (такой пароль не будет подобран быстро). Проверить надежность Вашего пароля можно на специальном сайте, например, здесь.
Авторизация по SSH-ключу – более надежный способ, по сравнению с использованием пароля. При авторизации на нескольких серверах, SSH-ключ намного удобнее в использовании.
Создать ключ можно с помощью онлайн-сервисов (например, здесь), или на персональном компьютере используя специальные утилиты.
Создание SSH-ключа (Windows)
1. Рекомендуется использовать приложение PuTTYgen (устанавливается вместе с PuTTY). После запуска укажите тип ключа RSA (SSH2-RSA в более старых версиях), и нажмите «Generate»
![ssh-key-authorization](https://help.ishosting.com/hs-fs/hubfs/help/server-administration/instructions-for-unix-systems/ssh-key-authorization/ssh-key-authorization.png?width=406&height=402&name=ssh-key-authorization.png)
2. Во время создания ключей проведите несколько раз курсором мышки в окне программы (для генерации случайных величин, используемых в ключах).
![ssh-key-authorization1](https://help.ishosting.com/hs-fs/hubfs/help/server-administration/instructions-for-unix-systems/ssh-key-authorization/ssh-key-authorization1.png?width=492&height=487&name=ssh-key-authorization1.png)
3. По окончанию процесса генерации сохраните закрытый и открытый ключ, нажав «Save public key» и «Save private key» соответственно (при сохранении Private key согласиться с сохранением без использования защитной фразы).
![ssh-key-authorization2](https://help.ishosting.com/hs-fs/hubfs/help/server-administration/instructions-for-unix-systems/ssh-key-authorization/ssh-key-authorization2.png?width=492&height=487&name=ssh-key-authorization2.png)
![ssh-key-authorization3](https://help.ishosting.com/hs-fs/hubfs/help/server-administration/instructions-for-unix-systems/ssh-key-authorization/ssh-key-authorization3.png?width=303&height=173&name=ssh-key-authorization3.png)
Создание SSH-ключа (Linux/MacOS)
1. Установите утилиту «Openssh»
2. Откройте утилиту «Терминал» и запустите команду
ssh-keygen -t rsa -b 2048
3. Выберите путь для сохранения пары ключей
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
При нажатии «Enter» ключи будут сохранены в каталог .ssh вашего домашнего каталога.
4. Если не хотите каждый раз вводить защитную фразу при использовании приватного ключа, просто нажмите «Enter».
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
5. Пара ключей создана. На экран будет выведена дополнительная информация.
id_rsa - стандартное название файла приватного (закрытого) ключа
id_rsa.pub - стандартное название файла публичного (открытого) ключа. Данный ключ необходимо копировать на серверы, к которым Вы хотите получать доступ при использовании приватного ключа.
Размещение ключей на сервере (Windows)
Public key (имеет расширение .pub) необходимо скопировать на сервер, в файл authorized_keys (рекомендуется использовать WinSCP или другую утилиту для работы с файлами на удаленном Linux-сервере).
1. Откройте c помощью текстового редактора два файла одновременно:
- файл authorized_keys через WinSCP на сервере
- и файл, в который был сохранен Public key на локальном компьютере.
2. Скопируйте содержимое ключа в authorized_keys.
3. Сохраните и закройте файл authorized_keys в WinSCP.
Размещение ключей на сервере (Linux/MacOS)
1. После того как были созданы ключи, выполните в утилите «Терминал» команду:
ssh-copy-id -i ~/.ssh/id_rsa user@host
где ~/.ssh/id_rsa – путь до закрытого ключа
user - имя пользователя
host - IP-адрес сервера
2. Включите на сервере аутентификацию с использованием ключа вместо пароля.
- Подключитесь к серверу с использованием пароля.
- Откройте файл /etc/ssh/sshd_config.
- Проверьте правильность указания пути к публичным ключам.
- Установите значение no у параметра PasswordAuthentication.
3. Перезапустите службу sshd на сервере:
service sshd restart
или service ssh restart в зависимости от версии ОС
Вход с использованием ключа (Windows)
1. В PuTTY укажите путь к закрытому ключу на Вашем компьютере (вкладка Connections > Auth).
![ssh-key-authorization4](https://help.ishosting.com/hs-fs/hubfs/help/server-administration/instructions-for-unix-systems/ssh-key-authorization/ssh-key-authorization4.png?width=465&height=457&name=ssh-key-authorization4.png)
2. При подключении Вы получите сообщение о том, что раньше не был использован ключ для авторизации на этом сервере.
Нажмите «Yes».
![ssh-key-authorization5](https://help.ishosting.com/hs-fs/hubfs/help/server-administration/instructions-for-unix-systems/ssh-key-authorization/ssh-key-authorization5.png?width=419&height=268&name=ssh-key-authorization5.png)
ВНИМАНИЕ! Вы должны увидеть предупреждение ТОЛЬКО при первом входе по ключу!
Если такое возникает на сервере, на котором Вы уже авторизовались с помощью ключа, то либо на сервере были изменены ключи, либо сервер подменен.
3. При успешной аутентификации с использованием ключа Вы получите доступ к командной строке сервера и сообщение вида
Authenticating with public key "key-010103232"
где key-010103232 — имя Вашего приватного ключа, указанное в файле authorized_keys.
Вход с использованием ключа (Linux/MacOS)
Для входа выполните команду:
ssh -i ~/.ssh/id_rsa user@host
где ~/.ssh/id_rsa – путь до закрытого ключа
user - имя пользователя
host - IP-адрес сервера