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


33

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


useradd --password-disable 및 adduser --password 비활성화 둘 다에 대한 옵션을 살펴 보았고 비밀번호 비활성화를 옵션으로 보지 못했습니다.
user119776

일반적으로 ssh 키 로그인을 설정하는 방법을 알고 있습니까? 계정이 잠기지 않아도되므로 암호가 활성화되어 있음을 의미합니다. 아무도 모르는 긴 암호 일 수 있습니다.
Micah Yoder 2016 년

나는 열쇠를 가지고 있으며 사용자 디렉토리 아래에 폴더를 만들고 거기에 공개 부분을 붙여 넣어야한다는 것을 알고 있습니다. 그런 식으로 시도 할 수는 있지만 사용자 암호도 비활성화해야한다고 생각했습니다.
user119776

사용자를 추가하는 방법을 보여주는 다른 게시물을 만드는 대신 Lambert에 동의합니다. 이 작업에서 문제가있는 부분에 특히 집중해야합니다. 사용자를 추가하는 방법을 모르는 경우 소규모로 시작하여 작업을 시작해야합니다. 사용자를 만들고 비밀번호를 설정하지 않고 키를 /home/username/.ssh/authorized_keys에 넣어야한다고 생각합니다.
Baazigar

답변:


37

사용자 작성으로 시작하십시오.

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

클라이언트 ssh에서 사용할 키 페어를 작성하십시오 .

ssh-keygen -t dsa

공개 키 /home/username/.ssh/id_dsa.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_dsa를 자동으로 찾아야합니다 ~/.ssh/. 다음을 사용하여 ID 파일을 지정할 수도 있습니다.

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

3
실제로 나는 암호 잠금을 잊지 않았다. 단순히 설정하지 않았기 때문에 새로 생성 된 사용자의 비밀번호가 자동으로 잠 깁니다.
Lambert

3
DSA 대신 RSA 사용
sg

당신은 당신의 자신의 키를 대체 할 수는 'ssh-keygen -t dsa'를 명령은 현재 사용자에 대한 키를 생성합니다 실현
yarun 수

15

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

adduser --disabled-password <username>

그런 다음 .ssh/authorized_keys공개 키로 홈 디렉토리에 파일을 작성 하십시오.


7

당신은 사용할 수 있습니다 :

usermod --lock <username>

매뉴얼 페이지에서 :

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.