SSH 및 Git 설정

SSH 및 Git 설정

내 로컬 네트워크에 개인 Git 서버를 설정하려고 하는데 내가 뭘 잘못하고 있는지 평생 알 수 없습니다. Git 사용자의 개인 키를 통해 SSH 인증을 받을 수 없는 것 같습니다.

ssh-keygenrsa pub/개인 키를 생성하기 위해 클라이언트에서 실행했습니다 . ~/.ssh/authorized_keys서버에 파일을 만들었습니다 . 복사 오류가 없는지 확인하기 위해 파일을 서버로 전송한 다음 다시 서버로 전송하여 파일 id_rsa.pub의 내용을 authorized_keys서버의 파일 로 복사했습니다 . SSH 데몬을 다시 시작했습니다.scpcat id_rsa.pub > ~/.ssh/authorized_keys

클라이언트에서 ~/.ssh폴더의 권한은 700이고 ~/.ssh/id_rsa파일의 권한은 600입니다. 서버에서 ~/.ssh폴더의 권한은 700이고 ~/.ssh/authorized_keys파일의 권한은 600입니다.

내 서버의 SSH 구성에는 /etc/ssh/sshd_config다음과 같이 주석 처리되지 않은 줄이 있습니다.

Include /etc/ssh/sshd_config.d/*.conf
KbdInteractiveAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp  /usr/lib/openssh/sftp-server
PasswordAuthentication yes
Match User git
        PasswordAuthentication no
        PubkeyAuthentication yes

폴더 /etc/ssh/sshd_config.d/가 비어 있습니다. 서버가 실행 중입니다 Ubuntu 22.04.1 LTS. 서버의 SSH 버전은 다음과 같습니다.OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022

이것을 시도하는 동안 나는 다음과 같은 인사를 받았습니다.ssh [email protected]
Permission denied (publickey).

내가 무엇을 놓치고 있나요? 가이드를 읽었습니다. 키를 정확하게 복사했는지 확인했습니다. 이전에 이미 SSH를 설정 authorized_keys하고 작동했던 서버의 파일에 공개 키를 삽입했기 때문에 솔직히 혼란스럽습니다. sshd 구성을 허용으로 설정하면 PasswordAuthentication내가 설정한 비밀번호를 사용하여 git 사용자로 로그인할 수 있습니다. 공개 개인 키 인증이 작동하지 않는 이유를 이해할 수 없습니다.

산출ssh [email protected] -vvv
https://pastebin.com/raw/nJwskYhU

답변1

다음과 같은 오류가 있습니다 /var/log/auth.log.
Authentication refused: bad ownership or modes for directory <home directory>

내가 한 일은 git 사용자의 홈 디렉터리를 새로운 위치로 옮기는 것이었고, 폴더의 기본 권한과 소유권은 표준 권한 및 소유권과 달랐습니다. 내 생각엔 그게 문제인 것 같아. 홈 디렉터리를 문제를 해결한 디렉터리로 다시 이동합니다. 귀하의 의견에 감사드립니다. 서버 측에서 로그를 찾을 생각은 없었습니다.

관련 정보