비밀번호를 사용한 원격 로그인을 완전히 비활성화하고 싶지는 않지만 키 쌍 인증을 통해서만 내 계정에 액세스할 수 있도록 만들고 싶습니다(그리고 비밀번호로 로그인하려는 다른 사용자도 있습니다). 가급적이면 시스템 설정을 변경하지 않고 사용자별로 이 설정을 변경할 수 있습니까?
분명히 말하면 내 계정에 대한 sudo 액세스 권한이 있으므로 비밀번호를 잠그고 싶지 않습니다.
답변1
일치 옵션을 사용할 수 있습니다.sshd_config
성냥 조건부 블록을 도입합니다. "일치" 줄의 모든 조건이 충족되면 다음 줄의 키워드는 다른 "일치" 줄이나 파일 끝까지 구성 파일의 전역 섹션에 설정된 키워드를 재정의합니다. [1]
그래서,파일 끝에서다음을 지정할 수 있습니다.
Match User yourusername
PasswordAuthentication no
man 5 sshd_config
사용 가능한 모든 옵션은 리소스를 참조하세요 .
[1]http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5
답변2
이것제이슨 소변의 답변이 변화를 만드는 올바른 방법이 될 것입니다. 내가 추가할 유일한 추가 사항은 휠 그룹의 모든 사용자가 키로 인증해야 하고 다른 사용자는 비밀번호를 사용할 수 있도록 그룹 기반 일치를 설정할 수 있다는 것입니다.
시스템 구성 파일을 변경하지 않고 이 작업을 수행하고 싶어한다는 것을 알고 있지만 이것이 가능하지 않은 데에는 충분한 이유가 있습니다. 귀하의 의견으로는 사용자가 보다 안전한 로그인 정책을 가질 수 있어야 한다는 것이 타당하지만, 이것이 더 안전한 옵션이라고 생각한다고 해서 이것이 여전히 시스템에 대한 로그인이라는 사실은 변하지 않습니다. 원격 사용자에게 필요합니다.
이것이 문제가 되는 이유를 이해하려면 반대 시나리오를 상상해 보십시오. 시스템 관리자(시스템 구성 파일을 변경할 수 있음)는 키 기반 로그인 전용 시스템을 설정합니다. 그런 다음 사용자가 와서 자신의 사용자 파일에만 액세스할 수 있으며 시스템 정책을 무시하고 비밀번호 인증을 허용하도록 계정을 설정합니다.버저 소리. 보안 질문!
이것이 당신이 원하는 변경이 시스템 구성 파일에서만 이루어질 수 있는 이유를 설명합니까?
답변3
자신에게 한계를 추가하고 아무것도 변경하지 마세요
ssh가 로그인 시도에 사용되는 클라이언트로 결정되면 클라이언트가 아닌 이유는 무엇입니까? 그렇다면 sshd_config 대신 ssh_config를 변경해 보세요. "PasswordAuthentication No" 및 PreferredAuthentications 매개변수를 확인하세요.