사용자가 비밀번호가 아닌 SSH 키를 사용하여 로그인할 수 있도록 하려면 어떻게 해야 합니까?

사용자가 비밀번호가 아닌 SSH 키를 사용하여 로그인할 수 있도록 하려면 어떻게 해야 합니까?

비밀번호 없이 사용자를 만들고 싶습니다. 비밀번호로 로그인할 수 없는 것과 같습니다. 루트를 사용하여 Authorized_keys에 키를 추가하고 싶습니다. 이것은 자동 백업 시스템을 위한 것입니다.

답변1

최소한 Fedora 와 Shadow-utils 기반의 모든 Linux 배포판에서는 사용법이 passwd -d완전히 잘못되었습니다 . 비밀번호 제거를 사용하면 누구나 비밀번호를 제공하지 않고도 해당 사용자(콘솔이나 그래프에서)에 로그인할 수 있다는 의미입니다.passwd -d

비밀번호 인증을 사용한 로그인을 방지하려면 루트 사용자만 사용할 수 있도록 계정을 잠그는 를 실행하십시오. 잠금은 암호화된 비밀번호를 유효하지 않은 문자열로 렌더링하여 수행됩니다(암호화된 문자열 앞에 !를 추가하여).passwd -l username

로컬이든 원격이든 로그인을 시도하면 다음과 같은 결과가 발생합니다."잘못된 비밀번호", 공개 키 로그인은 여전히 ​​유효합니다. 그런 다음 을 사용하여 계정을 잠금 해제할 수 있습니다.passwd -u username

계정을 삭제하지 않고 완전히 잠그고 싶다면 마지막 필드에서 또는 를 편집하여 /etc/passwd설정하세요 . 전자는 다음과 같은 결과를 가져올 것입니다./sbin/nologin/bin/false"이 계정은 현재 사용할 수 없습니다."모든 로그인 시도에 대해.

보다passwd(1)맨 페이지.

답변2

비밀번호 기반 인증은 허용하지 않지만 키/비밀번호 인증은 허용하는 SSH 데몬과 관련된 질문이 아닌가요?

변경 사항을 찾고 있습니다 sshd_config.

놓다

PasswordAuthentication No
PreferredAuthentications publickey,hostbased,keyboard-interactive
Protocol 2,1

더 많은 구성 매개변수 찾기남자 ssh_config

답변3

사용자의 비밀번호를 설정하지 마세요. 이미 비밀번호가 있는 경우 삭제 를 사용하세요 passwd -l <username>.

그러나 Authorized_keys를 사용하거나 일부 권한 있는 계정에서 su 또는 sudo를 통해 해당 사용자로 로그인하는 것은 여전히 ​​가능합니다.

관련 정보