비밀번호로 로그인하지 않고 ssh에 공개 키를 사용하는 사용자를 Red Hat Linux에 추가하고 싶습니다. 이는 명령줄에 있습니다.
답변1
사용자를 생성하여 시작하십시오.
useradd -m -d /home/username -s /bin/bash username
사용할 클라이언트에서 키 쌍을 만듭니다 ssh
.
ssh-keygen -t rsa
/home/username/.ssh/id_rsa.pub
RedHat 호스트에 공개 키를 복사합니다./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로 변경하고 sshd
RedHat 호스트에서 서비스를 다시 시작합니다.
클라이언트에서 연결을 시작하십시오 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 권한을 가진 새 사용자를 생성하기 위해 두려움 없이 실행할 수 있는 스크립트를 찾고 있었습니다. 따라서 동일한 작업을 수행한다면 이것이 도움이 될 것이라고 확신합니다. :)