.NET에서 공개적으로 액세스할 수 있는 가상 머신에서 Gitea를 실행하고 있습니다 gitea.myorg.foo
. 내 구성 파일의 SSH 구성과 관련된 서버 부분은 다음과 같습니다.
[server]
SSH_DOMAIN = gitea.myorg.foo
DOMAIN = gitea.myorg.foo
ROOT_URL = https://gitea.myorg.foo/
DISABLE_SSH = false
SSH_PORT = 22
OFFLINE_MODE = false
이는 Gitea의 내부 SSHD가 아닌 서버의 SSHD를 실행하고 있음을 의미합니다.
서버는 라는 사용자로 실행됩니다 git
. 에는 /home/git/.ssh/authorized_keys
인증된 키(사용자별 및 배포 키)가 나열됩니다.
안타깝게도 해당 배포 키가 활성화된 리포지토리를 복제하려고 하면 배포 키가 제공되지 않습니다.
를 복제하고 싶다고 가정해 보겠습니다. [email protected]/org/repo.git
웹 UI의 "키 배포"에 표시된 것과 완전히 다른 서명이 포함된 키가 제공됩니다. 실행하면 ssh-keyscan gitea.myorg.foo
서명만 받습니다.~ 아니다에서 찾을 수 있습니다 /home/git/.ssh/authorized_keys
.
SSH가 클라이언트에 제공하는 키를 어떻게 파악하고 구성할 수 있나요?
편집: 제공된 키가 HostKey
에 정의된 것으로 표시된 키임을 확인했습니다 /etc/ssh/sshd_config
. Gitea의 내부 SSH 서버를 사용해야 합니까, 아니면 그에 따라 기본 SSH 서버를 구성할 수 있습니까?
답변1
호스트 키와 배포 키를 혼동했습니다. 호스트 키가 반환되는 것은 전혀 괜찮습니다. 그러나 파일의 배포 키에 의존하는 실수를 저질렀으며 .knwon_hosts
대신 호스트 키를 사용해야 합니다.