사용자 당 비밀번호 기반 SSH 액세스를 제한하지만 키 인증은 허용


답변:


49

sshd_config의 맨 아래에서 특정 사용자 또는 그룹과 일치하도록 "일치"섹션을 추가 할 수 있습니다.

Match user stew
PasswordAuthentication no

또는

Match group dumbusers
PasswordAuthentication no

9
들여 쓰기 된 줄만 Match실제로 영향을 받는다는 것을 암시하여 들여 쓰기를 피하고 모든 구성은 다음 Match지시문 까지 영향을받습니다 . 구문에 익숙하지 않은 사람에게는 혼동 될 수 있습니다.
Michael Mior

2
@MichaelMior "EndMatch"하는 방법이 있습니까?
Nick T

4
@NickT Match는 다음 Match또는 Host키워드 까지 작동합니다 . 당신은 그냥 사용할 수 있습니다 Match user *.
Michael Mior

@MichaelMior 이것은을 사용 Match user ZaQwEdCxS하면 아무도 영구적으로 또는 영구적으로 사용할 수있는 구성 라인 세트를 렌더링 할 수 있음을 의미합니까 ?
Tripp Kinetics

이는 이후의 모든 구성 라인이라는 사용자에게만 적용됨을 의미합니다 ZaQwEdCxS. 그래도 다른 질문이 있으면 새로운 질문을해야합니다.
Michael Mior

4

비밀번호로 로그인하지 않으려는 사용자의 비밀번호를 잠그기 만하면됩니다.

usermod -L <user>

그런 다음 유효한 공개 키를 .ssh/authorized_keys파일에 넣으면 암호가 아닌 해당 개인 키로 만 로그인 할 수 있습니다.

참고 : 사용자가 visudo 항목에 NOPASSWD :가 없으면 sudo가 중단됩니다.


8
그것은 또한 sudo를 깨뜨릴 것입니다. 아마도이 경우에는 문제가되지 않지만 언급되어 있습니다.
EEAA

응 그것은 사실이야. 나는 그것을 언급 했어야했다.
Oliver

1
일부 OpenSSH 설정 (예 : 기본 구성의 Ubuntu 14.04)은 authorized_keys를 통해서도 사용자를 잠그지 못하게합니다.
Nils Toedtmann

@NilsToedtmann 검증 소스를 인용 할 수 있습니까? 그렇다면 대답에 유의하는 것이 매우 중요합니다.
Metagrapher

-3

당신은 조사해야

/etc/ssh/sshd_config

나는 당신이 찾고있는 것이

PasswordAuthentication yes

그것을 no로 변경하고 sshd를 다시 시작하는 것을 잊지 마십시오


2
나는 이것을 알고 있습니다-이것은 글로벌 설정이지만-더 세밀한 옵션을 원합니다.-이것이 "사용자 별 기준"이라고 말한 이유-일부 사용자에게만 필요합니다 (클러스터의 서버 간 내부 클러스터 통신에 사용됨) -모든 사용자를위한 것은 아님
gyre

아 맞다, 나는 그것을 올바르게 읽지 못해서 죄송합니다. @stew가 권장하는 것은 갈 길입니다
alexus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.