No Ubuntu 12.10, criei um LXC do tipo 'ubuntu' usando o utilitário lxc-create. Em seguida, crio contêineres efêmeros com base nesse contêiner usando o utilitário lxc-start-ephemeral, e preciso conectar-me aos que usam ssh sem senha. No entanto, preciso manter as pastas / home / ubuntu intactas, para não poder colocar o arquivo .ssh / allowed_keys usual lá.
A seção 'diretório inicial criptografado' aqui me diz como mover as teclas_estabelecidas do diretório inicial. Depois de seguir essas instruções de dentro do contêiner de base, posso ssh no contêiner de base sem fornecer uma senha.
No entanto, quando inicio um contêiner efêmero a partir do contêiner base, não consigo fazer o ssh sem uma senha. (Desconcertante, ssh sem senha para o recipiente efêmera faz trabalho quando authorized_keys está em seu lugar habitual no /home/ubuntu/.ssh.) Como posso corrigir isso?
Aqui está o que o ssh -v disse, começando quando aceita a chave do host:
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
Aqui estão as partes relevantes de /var/log/auth.log no contêiner efêmero:
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)
Fiz esse teste em uma microinstância nova da AWS, com base na AMI padrão do Ubuntu 12.10, e posso fornecer instruções detalhadas sobre como reproduzi-lo, se isso ajudar.
fonte
Respostas:
Esta é uma pergunta antiga, mas ainda aparece no google ...
é causado pelo fato de o serviço sshd ter requisitos rígidos de permissão para o diretório em que as chaves_computadas são encontradas, não sei como você conseguiu fazer com que o diretório raiz (/) presumivelmente tenha algo a ver com a maneira como você configura os contêineres.
Se você não pode alterar as permissões de /, o que parece provável neste caso, você pode definir
no sshd_config.
Desde que você não tenha vários usuários acessando o servidor, isso terá pouco impacto na segurança.
fonte