Я столкнулся с любопытной проблемой, с которой я никогда не сталкивался при настройке 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.
Я ценю любую ясность, которую может предоставить каждый.