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.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]
답변1
useradd
낮은 수준의 유틸리티입니다. adduser
더 나은 선택이 될 것입니다. 여기서 문제는 기본적으로 useradd
사용자가 셸 없이 생성된다는 것입니다. 그리고ssh
쉘리스 계정에 연결하면 아무것도 할 수 없습니다.
해결책은 사용자를 위한 셸을 추가하는 것입니다.
chsh -s /bin/sh golden