내 서버에는 SSH 공개 키가 여러 개 있습니다 ~/.ssh/authorized_keys
.
키를 일시적으로 차단/금지/비활성화하고 싶습니다. 이제 사용자가 이 키를 사용하여 로그인하는 것을 방지하고 싶습니다. 하지만 나중에 다시 활성화하고 싶을 수도 있습니다(즉, 키를 완전히 삭제하고 싶지는 않습니다).
올바른/권장 접근 방식은 무엇입니까?
#
줄 시작 부분에 설명을 추가 해야 합니까 authorized_keys
?
명확히 말하면 특정 사용자를 차단하고 싶지 않습니다. 사용자 계정은 여러 사람이 공유하며 각자 자신의 SSH 키를 사용하여 연결합니다. 특정 SSH 키를 차단하고 싶습니다.
답변1
키 앞에 강제 명령을 추가하여 사용자에게 무슨 일이 일어나고 있는지 알릴 수 있습니다. 예를 들어:
restrict,command="printf 'Your key has been disabled\n'" ssh-rsa AAAAB2...19Q== [email protected]
또는 v7.2 이전 Openssh의 경우:
command="printf 'Your key has been disabled\n'",no-pty,no-port-forwarding ssh-rsa AAAAB2...19Q== [email protected]
그러면 그들은 다음을 얻습니다:
$ ssh servername
PTY allocation request failed on channel 0
Your key has been disabled
Connection to servername closed.
답변2
예, 관련 줄 앞에 #
(또는 초기 항목이 더 이상 유효하지 않은 한 다른 문자 ) 를 넣을 수 있습니다 .ssh-rsa
이렇게 하고 시스템에서 일반 텍스트 비밀번호 로그인도 허용하는 경우 사용자에게 로그인하려면 비밀번호를 입력하라는 메시지가 표시됩니다. 따라서 계정과 관련된 (알려진) 비밀번호가 없는지 확인하는 것이 좋습니다.