ID만으로 SSH 인증, 인증 자격 증명이 필요하지 않음

ID만으로 SSH 인증, 인증 자격 증명이 필요하지 않음

많은 소스에서 비밀번호 기반 인증이 아닌 SSH 서버에 대한 키 기반 인증에 대한 지침을 제공합니다.

일부 격리된 환경에서는 서버가 자격 증명 없이 인식 가능한 사용자 이름만 요구하여 사용자에게 권한을 부여하는 것이 가장 좋습니다.

Linux에서 실행되는 OpenSSH가 이러한 상황을 지원합니까? 자격 증명 없이 사용자에게 권한을 부여하도록 서버를 구성하려면 어떻게 해야 합니까?

답변1

정의에 따르면 인증은 사용자의 신원을 증명하는 행위입니다. 예를 들어 "root"는 모든 Linux 시스템에서 알려진 사용자 이름입니다. 서버가 "루트"로 나타나는 모든 사용자에게 액세스 권한을 부여하는 경우 인증은 발생하지 않습니다. 그리고 신원 자체는 대개 비밀이 아닙니다. 예를 들어, /etc/passwd모든 로컬 사용자 이름을 나열하는 파일은 모든 사용자가 읽을 수 있습니다.

전통적으로 인증은 식별 단계 후에 발생하며 사용자가 알고 있는 것(예: 비밀번호), 사용자가 가지고 있는 것(예: SSH 키) 또는 사용자가 수행하고 있는 것(예: 지문 등). 자세한 내용은 Wikipedia 페이지를 참조하세요.https://en.wikipedia.org/wiki/authentication

SSH의 경우 가장 가까운 근사치는 비어 있거나 비어 있는 비밀번호가 있는 계정을 사용하는 것입니다. AuthenticationMethods none그런 다음 sshd_config를 사용 PermitEmptyPasswords yes하면 사용자 이름과 빈 비밀번호로 로그인할 수 있습니다. 이러한 옵션을 전체적으로 설정하는 것은 현명하지 않습니다. Match블록을 사용하고 이러한 설정을 특정 사용자 또는 사용자 그룹에 적용하는 것이 좋습니다 . 사용자 이름은 유일한 방어선이므로 새로운 비표준 사용자 이름을 사용하는 것도 의미가 있습니다. 옵션에 대한 자세한 내용은 맨페이지를 참조하세요.sshd_config(5)

다시 말하지만, 이 접근 방식은 인증을 완전히 제거하므로 보안 관점에서 안전하지 않습니다. 그리고 비밀번호가 없는 사용자 계정이 허용하는 권한에 따라 더 많은 취약점에 노출될 수 있습니다. 요구 사항을 주의 깊게 검토하고 계속할지 여부를 결정하세요.

관련 정보