![비표준 홈 디렉토리가 있는 SSH 사용자를 Centos 7 AWS 시스템에 추가하는 방법은 무엇입니까?](https://linux55.com/image/183186/%EB%B9%84%ED%91%9C%EC%A4%80%20%ED%99%88%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EA%B0%80%20%EC%9E%88%EB%8A%94%20SSH%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC%20Centos%207%20AWS%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
AWS에 CentOS 7 인스턴스가 있고 .pem 파일을 사용하여 연결하고 있습니다. 새 사용자를 생성하고 표준 단계를 따를 때(.ssh 디렉토리 생성, chmod 700, Authorized_keys 파일 생성, 공개 키 복사, chmod 600) 지침은 다음과 같습니다.https://aws.amazon.com/premiumsupport/knowledge-center/new-user-accounts-linux-instance/)좋은 결과.
그러나 비표준 홈 디렉토리로 새 사용자를 생성하면 권한 오류가 계속 발생합니다. / 디렉토리에 폴더를 생성하려고 시도한 후 권한이 나머지 폴더와 일치하지 않는다는 것을 알았을 때 루트 계정을 사용하여 거기에 새 폴더를 생성한 다음 해당 폴더 사용자 아래에 새 폴더를 생성했습니다. (따라서 기본적으로 /test/는 루트가 소유하고 /test/newuser/는 새 사용자가 소유합니다.)
나머지 단계를 수행했지만 여전히 운이 없습니다.
/etc/ssh/sshd_config 파일을 확인하고 다음과 같이 편집했습니다.
AuthorizedKeysFile .ssh/authorized_keys /test/newuser/.ssh/authorized_keys
그것도 소용없어요.
이 설정은 Amazon Linux 2 이미지에서는 작동하지만 CentOS 7에서는 작동하지 않습니다. 어떤 제안이 있으십니까?
답변1
사용자를 생성할 때 비표준 홈 디렉토리를 지정하려면 useradd
다음 명령을 사용하십시오.
기본 홈 디렉토리 생성
sudo mkdir /test
SELinux가 활성화되어 있고 적용 모드에서 실행 중인 경우 파일에 올바른 SELinux 컨텍스트로 레이블을 다시 지정해야 합니다.
sudo semanage fcontext -a -t user_home_dir_t "/test(/.*)?"
SELinux가 파일 레이블을 동적으로 다시 지정하도록 강제
sudo restorecon -Rv /test
그런 다음 사용자 정의 홈 디렉토리로 사용자를 추가하십시오.
sudo useradd -d /test/user1 user1
sudo useradd -d /test/user2 user2
이러한 사용자는 자신의 홈 디렉터리에 대해 올바른 권한이 설정됩니다. SELinux 컨텍스트 및 설명에 대한 추가 정보가 발견되었습니다.여기
답변2
좋습니다. 위의 작업을 완료했는지 확인하고 싶습니다. 솔루션은 Centos 7에서 잘 테스트되었지만 AWS 인스턴스에서는 테스트되지 않았습니다.
On your local server :
#Get the pub key
cat ~/.ssh/id_rsa.pub
원격 서버에서:
mkdir -p /test/newuser/.ssh/
chmod 700 /test/newuser/.ssh/
touch /test/newuser/.ssh/authorized_keys
chmod 600 /test/newuser/.ssh/authorized_keys
echo << EOF > /test/newuser/.ssh/authorized_keys
# ADD here your ~/.ssh/id_rsa.pub already generated
EOF
usermod -d /test/newuser test
chown root:root /test
chown -R test:test /test/*
#Edit/etc/ssh/sshd_config to add the above :
Match User test
AuthorizedKeysFile /test/newuser/.ssh/authorized_keys
sshd_config의 내용을 원격 서버에 복사할 수도 있습니다.
grep -v '^#' /etc/ssh/sshd_config | sed '/^$/d'