Linux 컨테이너는 내 홈 디렉토리 외부에서 authorized_keys 파일을 사용할 수 있지만이를 기반으로하는 임시 컨테이너는 사용할 수 없습니다. 왜? 넣을 수 없습니다. ‘암호화 된 홈 디렉토리’섹션 여기가

우분투 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 마이크로 인스턴스에서이 테스트를 수행했으며 도움이되는 경우이를 재현하는 방법에 대한 자세한 지침을 제공 할 수 있습니다.



답변

이것은 오래된 질문이지만 여전히 Google에 나타납니다 …

Authentication refused: bad ownership or modes for directory /

sshd 서비스가 authorized_keys가있는 디렉토리에 대해 엄격한 권한 요구 사항을 가지고 있기 때문에 루트 디렉토리 (/)가 컨테이너 구성 방식과 관련이있을 수 있습니다.

이 경우 /의 권한을 변경할 수없는 경우 다음과 같이 설정할 수 있습니다

StrictModes no

sshd_config에서.
서버에 여러 사용자가 액세스하지 않는 경우 보안에 거의 영향을 미치지 않습니다.


답변