Gitea가 잘못된 SSH 키를 제공합니다.

Gitea가 잘못된 SSH 키를 제공합니다.

.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대신 호스트 키를 사용해야 합니다.

관련 정보