machineA
machineB
로그아웃한 사용자에 대해 비밀번호 없는 로그인을 설정 하려고 합니다 . 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를 통해 접속하고 싶습니다. 위와 동일한 단계를 수행했지만 작동하지 않습니다.machineB
useradd golden
golden
machineB
machineA
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.pub
machineA
machineB
authorized_keys
/home/golden/.ssh/authorized_keys
golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10
뭐가 문제 야? 이 명령을 통해 수동으로 생성한 골드 사용자에게만 작동하는 것은 아닙니다 useradd
. 저는 우분투 14.04를 실행하고 있습니다. 내가 생성한 이 수동 사용자에 대해 설정을 활성화해야 합니까?
파일 에서 아래는 machineB
auth.log
machineA에서 이 명령을 실행 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