Авторизация по ключу SSH
В ssh есть несколько способов авторизации, по умолчанию со всеми vps и выделенными серверами Вам пришлют пароль от root пользователя. Это не самый безопасный вариант. Поэтому мы всем рекомендуем настроить авторизацию ssh по ключу, на всех своих серверах.
Для начала нам необходимо сгенерировать пару ключей используя утилиту ssh-keygen
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Created directory '/home/user1/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Sl/KVYA+e3dyzMPmpmc+VN7KDGSiTdg8fKVUdGVYMlY user1@guest
The key's randomart image is:
+---[RSA 2048]----+
| .. o*+E|
| . ...o= |
| . = ..o |
| + B.= .|
| . S*o* + o.|
| . +o+o + X o|
| . +. . @ o |
| X |
| .*.. |
+----[SHA256]-----+
На этом этапе можно указать программе в каком месте хранить вашу пару ключей, а так же защитить её паролем.
После генерации Вам необходимо отправить ключ на сервер.
ssh-copy-id root@192.168.1.10
Ввести текущий пароль. В ответ вы получите:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@192.168.1.10'"
and check to make sure that only the key(s) you wanted were added.
Теперь можно подключаться к вашему серверу используя команду: «ssh ‘root@192.168.1.10′»
Осталось несколько штрихов, нам ведь необходимо запретить авторизацию по паролю. Подключаемся к серверу:
nano /etc/ssh/sshd_config
Нас интересуют строки: PasswordAuthentication и UsePAM
Если они закоментированы, необходимо раскоментировать и выставить значение no:
PasswordAuthentication no
UsePAM no
Так же рекомендуем сменить стандартный порт ssh c 22 на любой другой.
И перезагрузить sshd
systemctl restart sshd
Удачного использования, ваших серверов.