Контейнер Linux может использовать файл author_keys вне моего домашнего каталога, но временные контейнеры на его основе не могут. Зачем?

В Ubuntu 12.10 я создал LXC типа 'ubuntu' с помощью утилиты lxc-create. Затем я создаю временные контейнеры на основе этого контейнера с помощью утилиты lxc-start-ephemeral, и мне нужно подключиться к тем, кто использует ssh без пароля. Однако мне нужно сохранить их папки / home / ubuntu нетронутыми, поэтому я не могу поместить туда обычный файл .ssh / authorized_keys.

В разделе «Зашифрованный домашний каталог» здесь рассказывается, как переместить author_keys из домашнего каталога. После того, как я следую этим инструкциям внутри базового контейнера, я могу войти в базовый контейнер без указания пароля.

Однако, когда я запускаю эфемерный контейнер из базового контейнера, я не могу войти в ssh без пароля. (Беспорядочно, ssh без пароля к временному контейнеру работает , когда author_keys находится на своем обычном месте в /home/ubuntu/.ssh.) Как это исправить?

Вот что такое ssh - v сказал, начиная с того момента, когда он принимает ключ хоста:

debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ubuntu/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Next authentication method: password

Вот соответствующие части /var/log/auth.log в эфемерном контейнере:

Apr 11 00:06:52 test-temp-SNeWevO sshd[306]: Authentication refused: bad ownership or modes for directory /
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: Accepted password for ubuntu from 10.0.3.1 port 59677 ssh2
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_env(sshd:setcred): Unable to open env file: /etc/default/locale: No such file or directory
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

I провел этот тест на новом микроэкземпляре AWS на основе стандартного Ubuntu 12.10 AMI и может предоставить подробные инструкции о том, как воспроизвести его, если это поможет.

10
задан 3 September 2016 в 13:10

1 ответ

Это старый вопрос, но он все еще появляется в Google ...

Authentication refused: bad ownership or modes for directory /

вызвано тем, что служба sshd имеет строгие требования к разрешениям для каталога, в котором находится author_keys, не зная, как вам удалось сделать этот корневой каталог (/), вероятно, как-то связанным с настройкой ваших контейнеров.

Если вы не можете изменить права доступа для /, что кажется вероятным в этом случае, вы можете установить

StrictModes no

в sshd_config.
Если у вас нет нескольких пользователей, обращающихся к серверу, это мало повлияет на безопасность.

0
ответ дан 3 September 2016 в 13:10

Другие вопросы по тегам:

Похожие вопросы: