Ubuntu 12.10では、lxc-createユーティリティを使用して「ubuntu」タイプのLXCを作成しました。次に、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)
私はこのテストを標準のUbuntu 12.10 AMIに基づく新しいAWSマイクロインスタンスで行いました。それが役立つ場合は、再現方法の詳細な手順を提供できます。