Я столкнулся с любопытной проблемой, с которой я никогда не сталкивался при настройке SSH без пароля между док-станциями для пользователей без полномочий root. Чтобы подготовить почву, вот что сработало: Для пользователя root на узле 1:

ssh-keygen -t rsa ...
ssh-copy-id node2

Теперь я могу SSH с узла 1 -> узла 2 без пароля.

Я использую другого пользователя (т.е. отметку). Я выполняю те же шаги, что и выше, генерирую ключи и копирую на node2 и все равно получаю подсказку. Я включил диагностику (ssh -v node2) и получил следующее:

[mark@node1 ~]$ ssh -v node2
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to node2 [172.17.0.3] port 22.
debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
... more stuff
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Next authentication method: password
...

Я нахожу это странным, за исключением другого поста здесь (https://stackoverflow.com/questions/18136389/using-ssh-keys-inside-docker-container), один из авторов сделал следующий комментарий:«Помните, что докер работает с sudo (если вы этого не сделаете), в этом случае вы будете использовать корневые ssh-ключи. " Это привлекло мое внимание, так как я подозреваю, что это может быть сущностью моей проблемы.

Поскольку я не мог опубликовать дополнительный вопрос там, я решил перефразировать вопрос здесь. Я не могу найти какие-либо подробности в документации Docker по этому вопросу, но, похоже, это влияет на поведение ssh без пароля для пользователей без полномочий root.

Я ценю любую ясность, которую может предоставить каждый.

1 ответ1

0

Для устранения неполадок / понимания того, что происходит, стоит попробовать ssh -i /home/mark/.ssh/id_rsa... (или любой другой путь), чтобы узнать, позволяет ли он использовать ключ mark и работает ли он, когда делая это. И в качестве теста попробуйте переименовать ключ root, посмотрите, что он делает!

Кроме того, (забыв -i) посмотрим, есть ли файл ~/.ssh/config, если так, есть ли в нем что-нибудь. И посмотрите, есть ли строка IdentityFile ____ в /etc /ssh_config, которая может указывать ключ root.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .