SSH 공개 키를 사용하는 것이 가장 좋습니다. 그래서 나도 sshd_config
그렇습니다 PasswordAuthentication no
.
쉘을 사용하는 sftp 사용자와 같은 일부 사용자는 로그인하지 않습니다 /usr/sbin/nologin
. 또는 시스템 계정.
따라서 비밀번호 없이 그러한 사용자를 생성할 수 있습니다 adduser gary --shell /usr/sbin/nologin --disabled-password
.
이것이 좋은 생각인가요/나쁜 생각인가요? 내가 고려하지 않은 결과가 있나요?
답변1
서버에 대한 루트 액세스 권한이 있고 사용자가 SSH 키를 분실할 경우를 대비해 이를 다시 생성할 수 있는 경우
그리고
사용자(개인)가 둘 이상의 계정을 가지고 있지 않은 것이 확실합니까?사용자 계정SSH 세션 간에 전환해야 합니다.많은 종류의SSH 세션(필요한 경우)
그리고
그들은 할 것이다안 돼요서버에 대한 "물리적"(키보드+모니터 또는 가상 머신의 원격 콘솔을 통해) 액세스가 필요합니다.
그리고
비밀번호로 제어되는 sudo
액세스 권한을 가진 사용자가 없습니다(즉, sudo 액세스 권한이 전혀 없거나 sudo 액세스 권한이 있음 NOPASSWD
).
내 생각엔 당신은 괜찮을 것 같아요.
우리 회사의 많은 서버는 이러한 방식으로 구성됩니다(일부 계정만 vmware 원격 콘솔을 통해 VM에 액세스해야 하고 다른 계정은 SSH 및 공개 키 인증을 통해서만 연결해야 함).
답변2
이 질문은 원래 언급되었습니다passwd --delete <username>
안전하지 않아: 이렇게 하면 암호화된 비밀번호 필드가 /etc/shadow
완전히 비어 있게 됩니다.
username::...
비밀번호 인증을 거부 하도록 구성했다면 sshd
SSH를 사용해도 안전합니다.다른 사람시스템의 서비스는 비밀번호 인증을 사용하며 빈 비밀번호를 거부하도록 구성되지 않았습니다.액세스하는 데 비밀번호가 필요하지 않습니다!당신은 이것을 원하지 않습니다.
adduser --disabled-passwd
/etc/shadow
암호화된 비밀번호 필드가 별표인 항목을 생성합니다 .
username:*:...
이는 "성공적으로 입력할 수 없는 암호화된 비밀번호"입니다. 즉, 계정이 유효하고 기술적으로 로그인을 허용하지만 비밀번호를 통해 인증한다는 의미입니다.성공할 수 없다. 따라서 서버에 다른 비밀번호 인증 기반 서비스가 있는 경우 사용자는 해당 서비스를 사용할 수 없도록 차단됩니다.
표준 계정 비밀번호(예: SSH 키) 이외의 인증 방법만 이 사용자 및 이 시스템에서 시스템 비밀번호 파일을 사용하는 모든 서비스에 대해 작동합니다. 이는 SSH 키를 통해서만 로그인할 수 있는 사용자가 필요할 때 원하는 것입니다.
기존 계정을 이 상태로 설정해야 하는 경우 다음 명령을 사용할 수 있습니다.
echo 'username:*' | chpasswd -e
암호화된 비밀번호 필드에는 세 번째 특수 값인 가 있으며 adduser --disabled-login
, 이 경우 필드에는 느낌표만 포함됩니다.
username:!:...
별표와 마찬가지로 이로 인해 비밀번호 인증이 성공할 수 없게 되지만 추가 의미도 있습니다. 비밀번호를 특정 관리 도구에 대해 "잠긴" 상태로 표시한다는 것입니다. passwd -l
기존 비밀번호 해시 앞에 느낌표를 추가하면 동일한 효과를 얻을 수 있으며, 이로 인해 비밀번호 인증을 다시 사용할 수 없게 됩니다.
하지만 부주의한 사람들을 위한 문제는 다음과 같습니다. passwd
2008년에는 이전 패키지의 명령 버전이 변경되어 shadow
"계정 잠금"에서 "암호 잠금"으로 재정의되었습니다.passwd -l
명시된 이유는 "다른 비밀번호 버전과의 호환성"입니다.
당신(나처럼)이 이것을 오래 전에 배웠다면 이것은 놀랄 수도 있다. 또한 adduser(8)
아직 구별을 명확하게 인식하지 못하는 사람들에게는 도움이 되지 않습니다.
비활성화된 부품계정모든 인증 방법에 대해 계정의 만료 날짜 값은 실제로 1: 로 설정됩니다 usermod --expiredate 1 <username>
. 2008년 이전에는 이 작업을 수행하는 데 사용된 소스 제품군 passwd -l
에서shadow
또한비밀번호 앞에 느낌표를 추가하세요. 하지만 더 이상 그렇게 하지 마세요.
데비안 패키지 변경 로그는 다음과 같이 말합니다:
- debian/patches/494_passwd_lock-no_account_lock: passwd -l의 이전 동작을 복원합니다(#389183에서 변경됨): 사용자 계정이 아닌 사용자 비밀번호만 잠급니다. 차이점도 명확하게 문서화되어 있습니다. 이렇게 하면 이전 버전의 passwd 및 기타 구현의 일반적인 동작이 복원됩니다. 닫기: #492307
오류 이력데비안 버그 492307그리고오류 389183이 아이디어를 이해하는 데 도움이 될 수 있습니다.