비밀번호 없이 SSH 및 공개 키를 사용하여 사용자 추가

비밀번호 없이 SSH 및 공개 키를 사용하여 사용자 추가

비밀번호로 로그인하지 않고 ssh에 공개 키를 사용하는 사용자를 Red Hat Linux에 추가하고 싶습니다. 이는 명령줄에 있습니다.

답변1

사용자를 생성하여 시작하십시오.

useradd -m -d /home/username -s /bin/bash username

사용할 클라이언트에서 키 쌍을 만듭니다 ssh.

ssh-keygen -t rsa

/home/username/.ssh/id_rsa.pubRedHat 호스트에 공개 키를 복사합니다./home/username/.ssh/authorized_keys

RedHat 호스트의 파일에 대해 올바른 권한을 설정합니다.

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

RedHat 호스트에서 공개 키 인증이 활성화되어 있는지 확인하십시오.

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

그렇지 않은 경우 지시어를 yes로 변경하고 sshdRedHat 호스트에서 서비스를 다시 시작합니다.

클라이언트에서 연결을 시작하십시오 ssh.

ssh username@redhathost

id_rsa에서 자동으로 키를 찾아야 합니다 ~/.ssh/. 다음을 사용하여 ID 파일을 지정할 수도 있습니다.

ssh -i ~/.ssh/id_rsa username@redhathost

답변2

Ubuntu에서는 다음 명령을 사용하여 사용자를 추가할 수 있습니다.

adduser --disabled-password <username>

.ssh/authorized_keys그런 다음 공개 키를 사용하여 홈 디렉터리에 파일을 만듭니다.

답변3

당신이 사용할 수있는:

usermod --lock <username>

매뉴얼 페이지에서:

사용자의 비밀번호를 잠급니다. 이렇게 하면 암호화된 비밀번호 앞에 "!"가 추가되어 비밀번호가 효과적으로 비활성화됩니다. 이 옵션은 -p 또는 -U와 함께 사용할 수 없습니다. 참고: 계정을 잠그려면(비밀번호 액세스뿐만 아니라) EXPIRE_DATE도 1로 설정해야 합니다.

답변4

전체 스크립트( <SSH_PUB_KEY>형식은 ssh-rsa …):

NEW_USER=newuser

sudo adduser --disabled-password "$NEW_USER"
sudo -i -u "$NEW_USER"

# now you are under the new user's shell
cd
mkdir -p .ssh
chmod 0700 .ssh
echo "<SSH_PUB_KEY>" > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

저는 적절한 SSH 권한을 가진 새 사용자를 생성하기 위해 두려움 없이 실행할 수 있는 스크립트를 찾고 있었습니다. 따라서 동일한 작업을 수행한다면 이것이 도움이 될 것이라고 확신합니다. :)

관련 정보