Что такое закрытый ключ?
Даже самые сложные пароли не могут сравниться с криптографической стойкостью закрытых ключей. В SSH закрытые ключи значительно повышают безопасность, избавляя пользователей от необходимости запоминать сложные пароли (или, что еще хуже, записывать их).
Сначала откроем терминал и сгенерируем закрытый ключ.
Шаг 1: Проверьте, есть ли у вас уже SSH-ключ.
$ ls ~/.ssh
Вывод:

Шаг 2: Создайте ключ SSH.
$ ssh-keygen
Выходные данные:

$ Укажите файл, в котором будет храниться ключ (/home/ubuntu/.ssh/id_rsa):
Чтобы использовать имя файла по умолчанию, нажмите ENTER и продолжите.
В следующей части введите кодовую фразу для защиты пары ключей. Вы можете пропустить этот пункт, нажав ENTER.
$ Введите кодовую фразу (пусто для отсутствия кодовой фразы):
$ Введите ту же парольную фразу еще раз:
Шаг 3: Скопируйте открытый ключ на удаленный хост.
$ ls ~/.ssh
Выходные данные:

Чтобы использовать созданную вами пару ключей SSH, нам нужно сначала скопировать открытый ключ на удаленный сервер. К счастью, OpenSSH включает функцию ssh-copy-id для этого.
$ ssh-copy-id remote_server_user@remote_server_ip

Шаг 4: SSH с использованием закрытого ключа.
$ ssh remote_server_user@remote_server_ip

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