데비안 6을 설정할 때 루트 외에 어떤 사용자가 SSH를 통해 내 시스템에 로그인할 수 있는지 알고 싶습니다. 비밀번호는 알고 있습니까?
Apache 2를 설치하면 www-data라는 사용자가 생성되었습니다. 이 사용자에게 SSH를 통해 내 시스템에 로그인할 수 있는 권한이 있습니까? 그러나 www-data에 모든 사람이 로그인할 수 있는 기본 비밀번호가 있다면 그럴 것 같지 않습니다.
SSH를 통해 내 시스템에 로그인할 수 있는 사용자 목록은 어디에서 찾을 수 있습니까? SSH 구성 파일에서 아무것도 찾을 수 없습니다.
답변1
Paradeepchhetri는 완전히 정확하지 않습니다.
데비안에는 수정되지 않은 다음 내용이 있습니다 sshd_config
:
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
따라서 SSH를 통한 로그인은 비밀번호 필드가 채워져 있거나 /etc/shadow
SSH 키가 있는 사용자에게만 작동합니다 ~/.ssh/authorized_keys
. is 및 for is PubkeyAuthentication
에는 기본값이 있으므로 제거하더라도 동작은 동일합니다.yes
PermitEmptyPasswords
no
문제의 예에서는 www-data
데비안 설치 프로그램이 비밀번호나 www-data
.
pam_access
, 필요한 경우 AllowUsers
더 미세한 제어를 위해 in 을 사용할 수 있습니다. 데비안에서는 이것이 강력히 권장됩니다.AllowGroups
sshd_config
UsePAM
답변2
기본적으로 Debian의 모든 사용자는 로그인이 허용됩니다.
파일을 편집하여 특정 사용자가 로그인하도록 허용하여 /etc/ssh/sshd_config
이를 변경할 수 있습니다.
sshd_config 매뉴얼 페이지에서 언급한 바와 같습니다.
AllowUsers
이 키워드 뒤에는 공백으로 구분된 사용자 이름 패턴 목록이 올 수 있습니다 . 지정된 경우 이러한 패턴 중 하나와 일치하는 사용자 이름만 로그인이 허용됩니다. 사용자 이름만 유효하며
숫자로 된 사용자 ID는 인식되지 않습니다. 기본적으로 모든 사용자는 로그인이 허용됩니다. 패턴이USER@HOST
then 의 형태를 취하는 경우 개별적으로USER
검사HOST
하여 특정 호스트의 특정 사용자에 대한 로그인을 제한합니다. 허용/거부 지시어는DenyUsers
,AllowUsers
,DenyGroup
finally 순서로 처리됩니다AllowGroups
.
답변3
기본적으로 SSH server
는 설치되어 있지도 않습니다. openssh-server
누구든지 SSH를 통해 로그인하려면 먼저 이 패키지를 설치해야 합니다 .
그 후에 모든 사용자는 두 가지 확인을 통과해야 합니다.
- SSH 인증
- PAM 계좌 확인
SSH 인증은 사용자가 대상 사용자의 .sh 파일에 올바른 비밀번호 /etc/shadow
또는 올바른 권한이 있는 유효한 SSH 공개 키를 가지고 있어야 함을 의미합니다 ~/.ssh/authorized_keys
.
유효한 비밀번호는 매뉴얼 페이지에 자세히 설명되어 있지만 crypt(3)
기본적으로 사용자의 두 번째 필드가 or /etc/shadow
로 시작 하면 $NUMBER$
아마도 유효하고, *
or !
이면 유효하지 않습니다.
PAM 계정 확인은 기본적으로 계정이 만료되지 않았음을 의미합니다. 를 이용하여 확인할 수 있습니다 chage -l USERNAME
.
제가 아는 한, 귀하의 질문에 답변해 드리자면:
- 루트와 설치 마법사 중에 생성한 계정만 새 시스템에 로그인할 수 있습니다.
- 아니요.
www-data
해시된 비밀번호가 있고 파일이*
없기 때문입니다.~www-data/.ssh/authorized_keys
- 여러 요구 사항이 있으므로 단일 목록은 없지만 아이디어를 얻으려면 다음을 실행해 볼 수 있습니다.
grep -v '^[^:]*:[!*]:' /etc/shadow