..png)
해결되었습니다.user_B
나를 속인 것은 s 홈 디렉토리 의 그룹 쓰기 가능 비트였습니다 .
이것에 대한 아이디어가 부족합니다. 모든 힌트를 높이 평가하겠습니다.
다음 설정을 고려해보세요.
- Ubuntu를 실행하는 서버
S
, usersboldewyn
및user_A
user_B
- 두 대의 노트북
A
과B
, 각각 로컬 사용자boldewyn
(id_rsa
로그인 키 가 있음S
)와 두 번째 키id_rsa_A
/ 가 있습니다id_rsa_B
. 모든 키는 에 저장됩니다/home/boldewyn/.ssh
. 둘 다 우분투를 실행 중입니다. user_A
user_B
비밀번호가 비어 있으면 공개S
키와 SSH를 통해서만 로그인이 가능해야 합니다.+--------+ +-------------------+ +--------+ | laptop | | server | | laptop | | A | | S | | B | | | | | | | +--------+ SSH +-------------------+ SSH +--------+ |id_rsa_A|------------|< user_A user_B >|------------|id_rsa_B| +--------+ +-------------------+ +--------+ |id_rsa |------------|< boldewyn >|------------|id_rsa | +--------+ +-------------------+ +--------+
작동하는 것:
랩톱에서 다음으로 로그인하십시오
boldewyn
(id_rsa
및S:/home/boldewyn/.ssh/authorized_keys
A
노트북에서 사용자로 로그인합니다user_A
(id_rsa_A
및S:/home/user_A/.ssh/authorized_keys
: 사용ssh -i id_rsa_A user_A@S
) .
내 문제:노트북에서는 B
정확히 동일한 설정이 실패합니다 user_B
. S
어떤 이유로든 키가 허용되지 않고 비밀번호 프롬프트가 나타나기 때문에 에 로그인할 수 없습니다 ( user_B
비밀번호가 없으므로 옵션이 없습니다).
제가 확인한 내용:
노트북
B
:- 모든 콘텐츠 의 권리
~/.ssh
및 모든 내용을 확인했습니다. id_rsa_B
s 및 : 의 공개 부분을 넣습니다 (키가 손상되지 않았습니다)boldewyn
..authorized_keys
ssh -i id_rsa_B boldewyn@S
ssh -vvv
: 글쎄요, 별로 도움이 되지 않습니다. 한 지점에서 지금은 메서드를 건너뛴다는 점을 알려줍니다publickey
. 이유가 제공되지 않았습니다.
- 모든 콘텐츠 의 권리
서버에서
S
:- 세 번 확인된
user_B
s.authorized_keys
파일 /home/*/.ssh
및 해당 내용 전체 의 권리를 확인했습니다 (특히user_A
및 비교user_B
).$HOME
(를 통해sudo -u user_B -i
) 설정되어 있는지 확인했습니다 .- 모든 사용자가
/etc/ssh/sshd_config
sAllowUsers
(및AllowGroups
) 에 있는지 확인했습니다.
- 세 번 확인된
기타 사항:
user_A
와 사이에서 내가 생각해 낼 수 있는 유일한 차이점은 user_B
후자를 사용하여 만들었다는 것입니다 adduser -M
(홈 디렉토리를 만들지 마십시오. 이전에 이미 존재했습니다). 그러나 나는 /home/user_B
관련된 모든 어린이가 user_B
및 그의 기본 그룹 에 의해 소유되어 있는지 세 번 확인했습니다 .
답변1
세 번 확인하셨나요?/home/user_B
(및 /home/user_B/.ssh
) 에도 /home/user_B/.ssh/authorized_keys
적절한 권한이 있었습니다.사용자 외에는 쓸 수 없음, 즉 모드 755 이상이 제한적입니까?
답변2
내 생각에는 해당 키를 생성한 방식과 관련이 있을 수 있습니다. 나는 다시 시도할 것이다. 키는 ssh-keygen 기능으로 생성됩니다. 아마도 한 세트의 키가 생성될 때 생성 프로세스에서 암호가 사용되었을 것입니다. 암호를 입력하라는 메시지가 표시되면 Enter 키를 누르기만 하면 됩니다. 해당 키의 pub 부분을 우분투에 복사합니다. .ssh/authorized_keys 파일에서 문제가 되는 항목을 삭제했는지 확인하세요. 두 번째 생각: pub 파일을 cat하는 경우 pub 파일을authorized_keys 파일에 복사할 때 >(replace_) 대신 >>(추가)를 사용해야 합니다. (cat id_rsa.pub >> .ssh/authorized_keys)
나는 조금 놀랐다. 나는 직장에서는 Solaris와 Cygwin을 사용하고 집에서는 Centos, Slackware, Debian 및 Ubuntu로 구성된 Linux Lan을 사용하여 방법을 사용했습니다. 개인 키가 공개 키와 일치하지 않을 가능성이 있습니까? 키를 생성하면 쌍을 얻게 되며, 공개 키는 전통적으로 대상 시스템의 홈 디렉터리 아래에 있는 .ssh/authorized 키 파일에 복사됩니다. 키를 다시 생성하는 경우 새 .pub 파일을 복사해야 합니다. 새 개인 키는 이전 공개 키와 쌍을 이루지 않습니다. 홈 디렉터리에 .authorized_keys 폴더가 있는 것 같습니다. 나는 그것을 시도한 적이 없습니다. 일반적인 배치는 /home/user_name/.ssh/authorized_keys 폴더에 있다고 생각합니다. 저는 약 6 이상의 Solaris 버전, Freebsd, Linux의 다양한 반복 및 버전을 사용하는 데 문제가 발생한 적이 없습니다. 행운을 빌어요
앨런