Estou executando o Gitea em uma máquina virtual acessível publicamente em gitea.myorg.foo
. Aqui está a parte do servidor relevante para a configuração SSH do meu arquivo de configuração:
[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
Isso significa que estou executando o sshd do servidor, não o sshd interno do Gitea.
O servidor é executado sob um usuário chamado git
. Em /home/git/.ssh/authorized_keys
, as chaves autorizadas (por usuário e chaves de implantação) são listadas.
Infelizmente, a chave de implantação não é oferecida quando tento clonar um repositório com essa chave de implantação habilitada.
Digamos que eu gostaria de clonar [email protected]/org/repo.git
, recebo uma oferta de uma chave com uma assinatura totalmente diferente daquela exibida em "Implantar chaves" na interface da web. Quando corro ssh-keyscan gitea.myorg.foo
, só recebo assinaturasnãopara ser encontrado em /home/git/.ssh/authorized_keys
.
Como posso descobrir e configurar quais chaves o SSH está oferecendo ao cliente?
Editar: notei que a chave oferecida é aquela marcada como HostKey
definida em /etc/ssh/sshd_config
. Preciso usar o servidor SSH interno do Gitea ou posso configurar meu servidor SSH nativo adequadamente?
Responder1
Misturei a chave do host e minha chave de implantação. Não há problema em retornar a chave do host. No entanto, cometi o erro de confiar na chave de implantação no .knwon_hosts
arquivo, onde deveria usar a chave do host.