.png)
РЕШЕНО.user_B
Меня смутил тот факт, что в домашнем каталоге группы есть возможность записи .
У меня заканчиваются идеи по этому поводу. Любая подсказка будет высоко оценена.
Рассмотрим такую схему:
- Сервер
S
под управлением Ubuntu, пользователиboldewyn
иuser_A
user_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
вboldewyn
s.authorized_keys
иssh -i id_rsa_B boldewyn@S
: работает (ключ не поврежден или около того) ssh -vvv
: Ну, не очень полезно: Просто говорит мне в один момент, что он пропускаетpublickey
метод сейчас. Причина не указана.
- Проверены права
На сервере
S
:- Трижды проверенный файл
user_B
s.authorized_keys
- Проверил права
/home/*/.ssh
и все их содержимое (особенно сравнилuser_A
иuser_B
) - Проверил, что
$HOME
установлено (черезsudo -u user_B -i
) - Проверил, что все пользователи находятся в
/etc/ssh/sshd_config
sAllowUsers
(иAllowGroups
, кстати)
- Трижды проверенный файл
Другие вещи:
Единственное различие, которое я могу придумать между 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. Удачи
Алан