Невозможно подключиться через SSH и открытый ключ и пользователя B (пользователь A может)

Невозможно подключиться через SSH и открытый ключ и пользователя B (пользователь A может)

РЕШЕНО.user_BМеня смутил тот факт, что в домашнем каталоге группы есть возможность записи .

У меня заканчиваются идеи по этому поводу. Любая подсказка будет высоко оценена.

Рассмотрим такую ​​схему:

  • Сервер Sпод управлением Ubuntu, пользователи boldewynиuser_Auser_B
  • Два ноутбука Aи B, каждый с локальным пользователем boldewyn(имеет id_rsaключ для входа S) и вторым ключом id_rsa_A/ id_rsa_B. Все ключи хранятся в /home/boldewyn/.ssh. Оба работают под управлением Ubuntu.
  • user_Aи user_Bпри Sналичии пустых паролей вход должен быть возможен только через открытый ключ и SSH.

    +--------+            +-------------------+            +--------+
    | laptop |            |       server      |            | laptop |
    |   A    |            |         S         |            |   B    |
    |        |            |                   |            |        |
    +--------+    SSH     +-------------------+    SSH     +--------+
    |id_rsa_A|------------|< user_A   user_B >|------------|id_rsa_B|
    +--------+            +-------------------+            +--------+
    |id_rsa  |------------|<    boldewyn     >|------------|id_rsa  |
    +--------+            +-------------------+            +--------+
    

Что работает:

  • Войдите в систему с любого ноутбука как boldewyn(используя id_rsaиS:/home/boldewyn/.ssh/authorized_keys

  • Войдите в систему с ноутбука Aкак пользователь user_A(используя id_rsa_Aи S:/home/user_A/.ssh/authorized_keys: ssh -i id_rsa_A user_A@S)

Моя проблема:На ноутбуке Bточно такая же настройка не удаётся для user_B. Я не могу войти в систему S, потому что по какой-то причине ключ не принимается и появляется запрос на ввод пароля ( user_Bпароля нет, это не вариант).

Что я проверил:

  • На ноутбуке B:

    • Проверены права ~/.sshи все его содержимое
    • поместите публичную часть id_rsa_Bв boldewyns .authorized_keysи ssh -i id_rsa_B boldewyn@S: работает (ключ не поврежден или около того)
    • ssh -vvv: Ну, не очень полезно: Просто говорит мне в один момент, что он пропускает publickeyметод сейчас. Причина не указана.
  • На сервере S:

    • Трижды проверенный файл user_Bs.authorized_keys
    • Проверил права /home/*/.sshи все их содержимое (особенно сравнил user_Aи user_B)
    • Проверил, что $HOMEустановлено (через sudo -u user_B -i)
    • Проверил, что все пользователи находятся в /etc/ssh/sshd_configs AllowUsersAllowGroups, кстати)

Другие вещи:

Единственное различие, которое я могу придумать между user_Aи user_B, заключается в том, что я создал последний с помощью adduser -M(не создавайте домашний каталог; он уже существовал раньше). Однако я трижды проверил, что /home/user_Bи все соответствующие потомки принадлежат user_Bи его основной группе.

решение1

Вы трижды проверили это?/home/user_B(а также /home/user_B/.sshи /home/user_B/.ssh/authorized_keys) имели соответствующие разрешения:недоступен для записи никому, кроме пользователя, т.е. режим 755 или более ограничительный?

решение2

Я думаю, это может быть связано с тем, как вы сгенерировали эти ключи. Я бы попробовал еще раз. Ключи генерируются с помощью средства ssh-keygen. Возможно, когда был сгенерирован один набор ключей, в процессе генерации использовалась парольная фраза. Вы можете попробовать просто нажать клавишу Enter, когда вас попросят ввести парольную фразу. Скопируйте часть pub этого ключа в Ubuntu. Убедитесь, что вы удалили мешающую запись в файле .ssh/authorized_keys. Вторая мысль: если cat файл pub, убедитесь, что вы используете >> (добавление), а не > (замена_), когда вы копируете файл pub в файл authorized_keys. (cat id_rsa.pub >> .ssh/authorized_keys).

Я немного удивлен. Я использовал свои методы на работе, используя Solaris и Cygwin, и дома в моей локальной сети Linux, состоящей из Centos, Slackware, Debian и Ubuntu. Возможно ли, что ваш закрытый ключ не совпадает с открытым? Когда вы генерируете ключи, вы получаете пару, открытый ключ традиционно копируется в файл .ssh/authorized keys в домашнем каталоге целевой машины. Если вы повторно генерируете ключи, новый файл .pub должен быть скопирован. Новый закрытый ключ не будет сочетаться со старым открытым. Я заметил, что у вас, похоже, есть папка .authorized_keys в домашнем каталоге. Я никогда не пробовал этого. Я думаю, что нормальное размещение — в папке /home/user_name/.ssh/authorized_keys. У меня никогда не было проблем с использованием любой версии Solaris, начиная с 6-й, Freebsd и различных итераций и разновидностей Linux. Удачи

Алан

Связанный контент