비표준 홈 디렉토리가 있는 SSH 사용자를 Centos 7 AWS 시스템에 추가하는 방법은 무엇입니까?

비표준 홈 디렉토리가 있는 SSH 사용자를 Centos 7 AWS 시스템에 추가하는 방법은 무엇입니까?

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'

관련 정보