RSA ключей, которая подойдет не только для SSH, но и для большинства других ситуаций. И так, генерация ключей ssh выполняется командой: ssh- keygen. Утилита предложит вам выбрать расположение ключей. По умолчанию ключи располагаются в папке ~/. Лучше ничего не менять, чтобы все работало по умолчанию и ключи автоматически подхватывались. Секретный ключ будет называться id.
Его можно не указывать, если не хотите. Использование дополнительного шифрования имеет только один минус — необходимость вводить пароль, и несколько преимуществ: Пароль никогда не попадет в сеть, он используется только на локальной машине для расшифровки ключа. Это значит что перебор по паролю больше невозможен. Секретный ключ хранится в закрытом каталоге и у клиента ssh нет к нему доступа пока вы не введете пароль; Если злоумышленник хочет взломать аутентификацию по ключу SSH, ему понадобится доступ к вашей системе. И даже тогда ключевая фраза может стать серьезной помехой на его пути. Тогда доступ по ключу ssh будет выполняться автоматически и вам не нужно будет что- либо вводить. Теперь у вас есть открытый и закрытый ключи SSH и вы можете использовать их для проверки подлинности.
Дальше нам осталось разместить открытый ключ на удаленном сервере. Загрузка ключа на сервер. Когда генерация ключей завершена, нам осталось только загрузить ключ на сервер. Для загрузки ключа можно использовать несколько способов. В некоторых случаях вы можете указать ключ в панели управления сервером, например, с. Panel или любой другой. Но мы такой способ рассматривать не будем.
Мы рассмотрим ручные способы. Самый простой способ скопировать ключ на удаленный сервер — это использовать утилиту ssh- copy- id.
Она тоже входит в пакет программ Open. SSH. Но для работы этого метода вам нужно иметь пароль доступа к серверу по SSH. Синтаксис команды: ssh- copy- id username@remote. Затем введите ваш пароль пользователя на удаленном сервере.
Утилита подключится к удаленному серверу, а затем использует содержимое ключа id. Дальше вы можете выполнять аутентификацию с помощью этого ключа. Если такой способ по какой- либо причине для вас не работает, вы можете скопировать ключ по ssh вручную. Мы создадим каталог ~/.
Теперь вы можете использовать созданный ключ для аутентификации на сервере: ssh username@remote. Иначе, сначала вам придется ввести фразу- пароль для расшифровки ключа. Отключение проверки пароля. Если пароль больше не будет использоваться, то для увеличения безопасности системы лучше его вовсе отключить. Но убедитесь, что ключ надежно сохранен и вы его не потеряете, потому что по паролю вы больше не войдете. Авторизуйтесь на сервере, затем откройте конфигурационный файл /etc/ssh/sshd.
Нужно установить ее значение в No: sudo vi /etc/ssh/sshd. Теперь вы можете войти на сервер без ввода пароля.
Если у вас остались вопросы, спрашивайте в комментариях!