Настройте SSH для доступа без пароля

SSH

SSH, или Secure Shell, - это безопасная оболочка, которая используется для удаленный доступ со всех типов устройств к серверам, через туннелированный канал и защищенный шифрованием, что обеспечивает безопасность, предотвращающую или, по крайней мере, чрезвычайно затрудняющую перехват имени пользователя или пароля третьими лицами. В случае * Nix этот протокол доступен через OpenSSH, набор клиент-серверных решений, доступных во всех дистрибутивах Linux и связанных платформах, таких как * BSD.

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

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

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

# apt-get установить openssh-сервер

Теперь нам нужно создать каталог .ssh в каталоге пользователя:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ HOME / .ssh

# коснитесь $ HOME / .ssh / authorized_keys

Редактируем файл / И т.д. / SSH / sshd_config и мы проверяем, что следующие строки такие, как есть:

PubkeyAuthentication да

AuthorizedKeysFile% h / .ssh / authorized_keys

Теперь переходим к клиенту и выполняем:

ssh-keygen -t rsa

Нам сообщат, что ключ создается, и нас попросят ввести файл, в котором он будет храниться (по умолчанию он будет у нас дома, в папке с именем /.ssh/id_rsa). Мы можем нажать Enter, так как это местоположение идеально нам подходит, а затем мы снова нажимаем Enter два раза, когда нас просят. введите кодовую фразу поскольку, помните, мы собираемся войти удаленно, не вводя никаких данных, поэтому нам также не нужны никакие фразы.

Теперь, когда у нас есть открытый ключ, мы должны поделиться им с теми компьютерами, к которым мы собираемся подключиться.. Предполагая, что сервер, о котором мы говорим, имеет адрес 192.168.1.100, вам нужно сделать следующее:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

После копирования нас пригласят на выполнить удаленный вход для проверки ключей, и необходимо учитывать, что в этом случае корень Это учетная запись, с которой мы собираемся получить доступ к серверу, поэтому, если мы хотим сделать это с другим пользователем, мы должны изменить root для учетной записи пользователя, с которой мы собираемся выполнить доступ через SSH.

Теперь нам нужно только перезапустить SSH-сервер, чтобы он принял новую конфигурацию:

# /etc/init.d/ssh перезапуск

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

ssh-copy-id -i $ ДОМОЙ / .ssh / id_rsa.pub admin@192.168.1.228


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   сушилка сказал

    Спасибо за информацию, но ничего… нет возможности….
    Я все утро пытаюсь, и всегда спрашивает мой пароль.
    Некоторое время назад я попробовал и оставил это как невозможное по той же причине….
    Я создаю свой ключ на своем Macbook, копирую его на свою малину в ~ / .ssh / authorizedKeys
    Я настраиваю sshd.conf с общедоступной аутентификацией и проверяю, что каталог ключей находится именно там, где находятся ключи. Перезагружаю малину и при подключении снова спрашивает пароль
    Что может выйти из строя?

    1.    сушилка сказал

      После нескольких часов пробуя многие вещи, я обнаружил, что с моим созданным пользователем он никогда не работает, но с пользователем по умолчанию, который называется «ubuntu», он работает в первый раз.
      Любые разъяснения, почему это может произойти?
      Saludos у Gracias