Arch Linux에서 SSH를 통해 공개/개인 키 인증을 사용할 수 없는 이유는 무엇입니까?

Arch Linux에서 SSH를 통해 공개/개인 키 인증을 사용할 수 없는 이유는 무엇입니까?

내 Ubuntu 컴퓨터에는 다음과 같은 설정이 있습니다.

~/dotfiles/authorized_keys2
~/.ssh/authorized_keys2 -> /home/wayne/dotfiles/authorized_keys2

Arch 시스템에도 동일한 설정이 있지만 -v를 사용하여 연결하면

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/wayne/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password

내가 찾은이 페이지Arch Wiki에는 다음과 같은 내용이 있습니다.

$ chmod 600 ~/.ssh/authorized_keys

그래서 또 다른 심볼릭 링크를 추가했습니다.

authorized_keys -> /home/wayne/dotfiles/authorized_keys2

하지만 여전히 주사위는 없습니다. 응, 난가지다에 올바른 키가 있는지 확인하세요 authorized_keys.

내 키를 사용하여 연결할 수 없는 이유는 무엇입니까?

편집하다:

내 거권한내 홈 및 SSH 폴더(및 주요 파일)에서 올바르게 설정합니다.

drwxr-x--x 150 wayne       family  13k Aug 27 07:38 wayne/
drwx------   2 wayne       family 4.1k Aug 27 07:24 .ssh/
-rw-------   1 wayne       family 6.4k Aug 20 07:01 authorized_keys2

답변1

authorized_keys파일 및 이를 가리키는 디렉터리에 대한 권한은 충분히 제한되어야 합니다. 사용자 또는 루트만 쓸 수 있어야 합니다(최신 버전의 OpenSSH에서는 그룹의 개별 사용자인 경우에도 그룹 쓰기가 가능하도록 허용합니다). 바라보다공개 키 인증을 사용할 때 SSH 비밀번호 프롬프트가 계속 표시되는 이유는 무엇입니까?전체 이야기.

귀하의 경우에는 authorized_keys심볼릭 링크입니다. OpenSSH 5.9(다른 버전은 확인하지 않음)부터 이 경우 서버는 심볼릭 링크의 최종 대상에 대한 권한을 확인하고 모든 중간 심볼릭 링크(표준 경로)를 확장합니다. 마지막 구성 요소를 제외한 모든 구성 요소가 일반 파일이라고 가정하면 OpenSSH는 /home/wayne/dotfiles/authorized_keys2, 및 의 권한을 확인합니다./home/wayne/home/wayne/dotfiles/home/wayne/dotfiles/authorized_keys2

서버에 대한 루트 액세스 권한이 있는 경우 서버 로그에서 다음 형식의 메시지를 확인하세요 bad ownership or modes for ….

답변2

나는 같은 문제가 있었고 /home/user 디렉토리의 권한을 변경하여 해결되었습니다. 이는 올바르지 않았습니다. chmod 755여야 합니다.

답변3

SELINUX가 강제로 설정되어 있고authorized_keys 파일의 정식 경로에 임의의 디렉토리에 대한 심볼릭 링크가 있으면 실패합니다. SELINUX를 비활성화로 설정해야 합니다.

관련 정보