В Ubuntu 12.10 я создал LXC типа 'ubuntu' с помощью утилиты lxc-create. Затем я создаю временные контейнеры на основе этого контейнера с помощью утилиты lxc-start-ephemeral, и мне нужно подключиться к тем, кто использует ssh без пароля. Однако мне нужно сохранить их папки / home / ubuntu нетронутыми, поэтому я не могу поместить туда обычный файл .ssh / authorized_keys.
В разделе «Зашифрованный домашний каталог» здесь рассказывается, как переместить author_keys из домашнего каталога. После того, как я следую этим инструкциям внутри базового контейнера, я могу войти в базовый контейнер без указания пароля.
Однако, когда я запускаю эфемерный контейнер из базового контейнера, я не могу войти без пароля. (Смутно, 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 на основе стандартного Ubuntu 12.10 AMI и могу предоставить подробные инструкции о том, как его воспроизвести, если это поможет.