PAM 계정 구성은 특정 사용자에 대한 액세스를 거부합니다.

PAM 계정 구성은 특정 사용자에 대한 액세스를 거부합니다.

machineAmachineB로그아웃한 사용자에 대해 비밀번호 없는 로그인을 설정 하려고 합니다 . david인증 키를 생성하기 위해 수행한 작업은 다음과 같습니다.

david@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ ssh-keygen -t rsa
........

그 후 id_rsa.pub (/home/david/.ssh/id_rsa.pub)키를 파일 key 에 복사했습니다 machineA.machineB authorized_keys(/home/david/.ssh/authorized_keys)

그런 다음 machineA 로그인 화면으로 돌아가서 아래 명령을 실행했는데 문제 없이 잘 작동했습니다. 따라서 machineB비밀번호를 묻지 않고 david 사용자로 로그인 할 수 있습니다 .

david@machineA:~$ ssh david@machineB

질문:

이제 machineA이 명령을 실행하여 새 사용자를 만들었습니다. 이제 비밀번호 없이 해당 사용자로부터 SSH를 통해 접속하고 싶습니다. 위와 동일한 단계를 수행했지만 작동하지 않습니다.machineBuseradd goldengoldenmachineBmachineA

david@machineA:~$ sudo su - golden
golden@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ sudo su - golden
golden@machineB:~$ ssh-keygen -t rsa
........

그런 다음 id_rsa.pub골드 사용자의 키를 파일에서 파일로 복사했습니다. SSH를 시도하면 다음이 표시됩니다./home/golden/.ssh/id_rsa.pubmachineAmachineB authorized_keys/home/golden/.ssh/authorized_keys

golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10

뭐가 문제 야? 이 명령을 통해 수동으로 생성한 골드 사용자에게만 작동하는 것은 아닙니다 useradd. 저는 우분투 14.04를 실행하고 있습니다. 내가 생성한 이 수동 사용자에 대해 설정을 활성화해야 합니까?

파일 에서 아래는 machineB auth.logmachineA에서 이 명령을 실행 ssh -vvv golden@machineB하여 로그인할 때 표시되는 내용 입니다.

Jan  3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan  3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan  3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan  3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]

내가 놓친 것이 있나요? 다음은 내 디렉토리 구조입니다.

golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden  675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden  220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root     root     4.0K Dec 22 11:56 ..
-rw------- 1 golden golden  17K Jan  5 12:51 .viminfo
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
drwx------ 5 golden golden 4.0K Jan  5 12:51 .
-rw------- 1 golden golden 5.0K Jan  5 13:14 .bash_history


golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 56K
-rw------- 1 golden golden  675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden  220 Dec 22 15:10 .bash_logout
drwxr-xr-x 7 root     root     4.0K Jan  4 16:43 ..
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
-rw------- 1 golden golden 9.9K Jan  5 12:59 .viminfo
drwx------ 6 golden golden 4.0K Jan  5 12:59 .
-rw------- 1 golden golden 4.6K Jan  5 13:10 .bash_history

고쳐 쓰다:

존재하다 machineA:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash

존재하다 machineB:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash

답변1

문제는 PAM 스택 구성에 있습니다. 키가 올바르게 설정된 경우에도 호스트는 pam_access기본적으로 신규 사용자의 외부/SSH 액세스를 허용하지 않도록 구성됩니다.golden

다음과 같이 golden사용자를 추가하면 /etc/security/access.conf문제가 해결되었습니다.

+:golden:ALL

자세한 내용을 보려면 man access.conf파일의 각 필드에 대한 설명을 읽어보세요. LOCAL, ALL 등의 순서와 의미를 이해하려면 예제 섹션을 참조하세요.

답변2

나는 같은 문제가 있었지만 제안된 모든 옵션이 작동하지 않았습니다. 그런데 포럼에서 발견했습니다(https://ubuntuforums.org/showthread.php?t=1960510) 완벽하게 작동하는 "해결 방법"입니다.

편집 /etc/ssh/sshd_config및 설정

UsePAM no

내 컴퓨터에 확실히 문제가 있기 때문에 이것이 실제 해결책이 아닐 수도 있지만(어제는 잘 작동했습니다!), 이것은 적어도 작동합니다.

답변3

나는 같은 문제에 직면했습니다. pam 액세스는 한 컴퓨터에서는 특정 사용자를 거부하지만 다른 컴퓨터에서는 거부하지 않습니다. 결국 /etc/shadow를 업데이트하는 것을 잊어버렸다는 것을 깨달았습니다.

업데이트 후 문제가 해결되었습니다.

답변4

다음을 추가하세요 /etc/security/access.conf.

-:ALL:EXCEPT root

관련 정보