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

10

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

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

Однако, когда я запускаю эфемерный контейнер из базового контейнера, я не могу ssh без пароля. (Смутно, без пароля ssh в эфемерный контейнер работает , когда authorized_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)

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

    
задан Anand 11.04.2013 в 00:21
источник

1 ответ

0

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

Authentication refused: bad ownership or modes for directory /

вызвана службой sshd, имеющей строгие требования к разрешениям для каталога, в котором указаны authorized_keys, не знаете, как вам удалось сделать корневой каталог (/), предположительно, чем-то связанным с тем, как ваши контейнеры конфигурации.

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

StrictModes no

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

    
ответ дан teknopaul 05.06.2017 в 22:00