Настройка SSH на UBUNTU

Необходимые условия:

  1. ~/.ssh существует
  2. доступ к пользователю root

Шаг 1 — Создание пары ключей

Первым шагом будет создание пары ключей на клиентской машине (обычно это ваш компьютер):

ssh-keygen
Войдите в полноэкранный режим Выйти из полноэкранного режима

По умолчанию последние версии ssh-keygen создают 3072-битную пару ключей RSA, что достаточно безопасно для большинства случаев использования (вы можете опционально передать флаг -b 4096 для создания более длинного 4096-битного ключа).

После ввода команды вы должны увидеть следующий результат:

когда вас спросят имя файла, пожалуйста, введите имя по вашему выбору, после чего нажмите клавишу Enter.

Нажмите Enter, чтобы сохранить пару ключей в подкаталоге .ssh/ в вашем домашнем каталоге, или укажите другой путь.

Если ранее вы уже создавали пару ключей SSH, вы можете увидеть следующее приглашение:

Если вы решите перезаписать ключ на диск, вы больше не сможете аутентифицироваться с помощью предыдущего ключа. Будьте очень осторожны, выбирая «да», так как это разрушительный процесс, который невозможно отменить.

После этого вы увидите следующее приглашение:

Здесь можно ввести надежную парольную фразу, что настоятельно рекомендуется. Парольная фраза добавляет уровень безопасности для предотвращения входа неавторизованных пользователей.

После этого вы должны увидеть результат, похожий на следующий:

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

Шаг 2:

Копирование открытого ключа на сервер Ubuntu

ssh-copy-id username@remote_host
Войдите в полноэкранный режим Выход из полноэкранного режима
Output
The authenticity of host '103.0.113.132 (103.0.113.132)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
Войти в полноэкранный режим Выйти из полноэкранного режима

Далее утилита проверит вашу локальную учетную запись на наличие ключа bhargavTest.pub, который мы создали ранее. Когда ключ будет найден, она запросит пароль учетной записи удаленного пользователя:

Output
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
bhargav@103.0.113.132's password:

Вход в полноэкранный режим Выйти из полноэкранного режима

Введите пароль (ваш ввод не будет отображаться в целях безопасности) и нажмите ENTER. Утилита подключится к учетной записи на удаленном хосте, используя указанный вами пароль. Затем она скопирует содержимое вашего ключа ~/.ssh/id_rsa.pub в файл в домашнем каталоге ~/.ssh удаленной учетной записи под названием authorized_keys.

Вы должны увидеть следующее сообщение:

Output
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'bhargav@103.0.113.132'"
and check to make sure that only the key(s) you wanted were added.
Вход в полноэкранный режим Выход из полноэкранного режима

Шаг 3 — Аутентификация сервера Ubuntu с помощью ключей SSH

Если вы выполнили одну из описанных выше процедур, вы должны иметь возможность войти на удаленный хост без ввода пароля удаленной учетной записи.

Основной процесс такой же:

ssh username@remote_host
Войдите в полноэкранный режим Выйти из полноэкранного режима

в моем случае

bhargav@103.0.113.132
Войти в полноэкранный режим Выйти из полноэкранного режима

Если вы впервые подключаетесь к этому хосту (если вы использовали последний способ выше), вы можете увидеть что-то вроде этого:

Output
The authenticity of host '103.0.113.132 (103.0.113.132)' can't be established.
ECDSA key fingerprint is rd:rd:r4:g7:77:fe:73:84:e1:65:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
Войти в полноэкранный режим Выход из полноэкранного режима

Это означает, что ваш локальный компьютер не распознает удаленный хост. Введите «да» и нажмите ENTER, чтобы продолжить.

Если вы не ввели кодовую фразу для своего закрытого ключа, вы сразу же войдете в систему. Если вы ввели кодовую фразу для закрытого ключа при его создании, вам будет предложено ввести ее сейчас (обратите внимание, что ваши нажатия клавиш не будут отображаться в терминальной сессии для безопасности). После аутентификации для вас должен открыться новый сеанс оболочки с настроенной учетной записью на сервере Ubuntu.

Если аутентификация на основе ключей прошла успешно, продолжите изучение того, как еще больше обезопасить свою систему, отключив аутентификацию с помощью пароля.

На данном этапе, если вы можете войти на сервер без пароля, вы успешно настроили ssh.

Шаг — 4

подтвердите, что ваша удаленная учетная запись имеет административные привилегии, войдите на удаленный сервер с помощью ключей SSH либо как root, либо как учетная запись с привилегиями sudo. Затем откройте файл конфигурации демона SSH:

sudo nano /etc/ssh/sshd_config
Inside the file, search for a directive called PasswordAuthentication. This line may be commented out with a # at the beginning of the line. Uncomment the line by removing the #, and set the value to no. This will disable your ability to log in via SSH using account passwords:

/etc/ssh/sshd_config
Войти в полноэкранный режим Выход из полноэкранного режима
PasswordAuthentication no
Войти в полноэкранный режим Выйти из полноэкранного режима

Сохраните и закройте файл, когда закончите, нажав CTRL+X, затем Y для подтверждения сохранения файла, и, наконец, ENTER для выхода из nano. Чтобы активировать эти изменения, нам нужно перезапустить службу sshd:

sudo systemctl restart ssh
Вход в полноэкранный режим Выйти из полноэкранного режима

В качестве меры предосторожности, откройте новое окно терминала и проверьте правильность работы службы SSH перед закрытием текущего сеанса:

ssh имя пользователя@удаленный_хост
Убедившись, что служба SSH работает правильно, вы можете смело закрывать все текущие сеансы сервера.

Демон SSH на вашем сервере Ubuntu теперь отвечает только на аутентификацию на основе SSH-ключей. Вход в систему на основе пароля был отключен.

Оцените статью
devanswers.ru
Добавить комментарий