SSH-аутентификация с ключами
предосторожность
Эта статья была опубликована более чем год назад, там, возможно, были события.
Пожалуйста, примите это во внимание.
SSH-протокол (Безопасная оболочка) это зашифрованный протокол, используемый для установления безопасных соединений между двумя машинами.: е клиент-сервер. Сам по себе это уже довольно безопасный протокол, но с ключами SSH вы можете закрыть доступ SSH только к определенным машинам. Вот как.
В этом мини-руководстве мы увидим, как настроить SSH-доступ к машине. “сервер” путем аутентификации без пароля. С этой конфигурацией только те, у кого есть правильные ключи SSH, смогут получить доступ к серверу.. В этом примере мы будем использовать следующие IP-адреса:
- Клиент: 192.168.5.114
- сервер: 192.168.5.10
Одним из основных требований является то, что пользователь, который генерирует ключ SSH, имеет включенную учетную запись и принадлежит к группе sudoers
на обеих машинах.
Сгенерировать ключ на сервере
Сначала мы генерируем SSH-ключ на сервере.. Войти на сервер (либо напрямую, либо через традиционный SSH) и запустите эту команду.
~$ ssh-keygen -t rsa
Пока ключ создается, у нас будет возможность связать пароль или нет.. Я рекомендую связать пароль, если нет особых препятствий, таких как необходимость отключения пароля при входе в систему.. В любом случае у нас будет две возможности, обе безопасные..
Скопируйте ключ в клиент
После завершения команды нам нужно будет запустить еще одну, чтобы скопировать сгенерированный ключ клиенту..
~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub USER@192.168.5.114
USER
это пользователь, зарегистрированный на клиенте, который мы будем использовать для входа на сервер.
Я предполагаю, что эти операции выполняются в локальной сети, но если это не так, необходимо найти способ скопировать ключ, сгенерированный в ~/.ssh/id_rsa.pub
в используемом клиенте, например, через FTP-ресурс, электронная почта или даже червоточина.
Проверить соединение
В конце концов, пришло время проверить фактическое функционирование. Возвращаемся к клиенту и запускаем команду:
~$ ssh -v USER@192.168.5.10
USER
пользователь слушает сервер.
Если мы настроили ключ SSH без пароля, мы сразу же войдем на сервер., наоборот если мы установили пароль на ключ, это потребуется сейчас.
Отключить аутентификацию пользователя по паролю
Если мы успешно вошли на сервер, мы можем настроить доступ, чтобы не принимать соединения через пароль пользователя.. Мы открываем файл /etc/ssh/sshd_config
с помощью редактора и добавьте строку в конец файла следующим образом:
PasswordAuthentication no
Перезапускаем службу SSH:
~$ sudo service ssh restart
Теперь, если мы попытаемся снова войти на сервер, мы не сможем сделать это без сгенерированного ключа SSH.. Как только мы убедимся, что все работает правильно, мы можем поделиться ключом (используя команду ssh-copy-id
дал сервер) с пользователями, которым мы хотим предоставить доступ.
Если единственный способ получить доступ к серверу — через SSH, будьте осторожны, чтобы не потерять ключи., или мы не сможем войти в машину.
0 Комментарии