"useradd" 명령을 통해 새로 생성된 사용자에 대해서는 SSH 비밀번호 없는 기능이 작동하지 않습니다.

"useradd" 명령을 통해 새로 생성된 사용자에 대해서는 SSH 비밀번호 없는 기능이 작동하지 않습니다.

machineA로그아웃한 machineB사용자에 대해 비밀번호 없는 로그인을 설정하려고 하는데 제대로 작동합니다. david이것이 내가 한 일입니다:

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

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

machineA사용자 를 위한 machineB인증 키를 생성합니다 david. 그 후 id_rsa.pub (/home/david/.ssh/id_rsa.pub)키를 파일 key 에 복사했습니다 machineA.machineB authorized_keys(/home/david/.ssh/authorized_keys)

그런 다음 machineA 로그인 화면으로 돌아가서 다음 명령을 실행했는데 비밀번호를 입력하지 않고도 작동했습니다.

david@machineA:~> ssh david@machineB

이제 비밀번호 없이 이 명령을 실행하여 새 사용자를 machineA만들었 machineB습니다 useradd golden. 이제 golden비밀번호 없이 해당 사용자 machineB로부터 SSH를 통해 접속 하고 싶습니다 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골드 사용자 키를 머신 A에서 머신 B authorized_keys파일로 복사했습니다. SSH를 시도하면 다음이 표시됩니다.

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

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

고쳐 쓰다:

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 ..
drwx------ 2 golden golden 4.0K Jan  3 15:00 .ssh
-rw------- 1 golden golden  17K Jan  3 15:04 .viminfo
drwx------ 5 golden golden 4.0K Jan  3 15:04 .
-rw------- 1 golden golden 4.2K Jan  3 16:32 .bash_history


golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 52K
-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 6 root     root     4.0K Jan  3 14:26 ..
-rw------- 1 golden golden  11K Jan  3 15:21 .viminfo
drwx------ 2 golden golden 4.0K Jan  3 15:21 .ssh
drwx------ 6 golden golden 4.0K Jan  3 15:21 .
-rw------- 1 golden golden 2.9K Jan  3 15:27 .bash_history

Authorized_keys 파일의 경로는 machineB에 있습니다.

/home/golden/.ssh/authorized_keys

자세한 로그는 상당히 크기 때문에 여기에 요점을 붙여넣겠습니다.

https://gist.github.com/TechGeeky/cf49052039313e4c654183bf9eafd97c

또 다른 업데이트:

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]

답변1

useradd낮은 수준의 유틸리티입니다. adduser더 나은 선택이 될 것입니다. 여기서 문제는 기본적으로 useradd사용자가 셸 없이 생성된다는 것입니다. 그리고ssh쉘리스 계정에 연결하면 아무것도 할 수 없습니다.

해결책은 사용자를 위한 셸을 추가하는 것입니다.

chsh -s /bin/sh golden

관련 정보