Estoy ejecutando Gitea en una máquina virtual a la que se puede acceder públicamente en gitea.myorg.foo
. Aquí está la parte del servidor relevante para mi configuración SSH de mi archivo de configuración:
[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
Esto significa que estoy ejecutando el sshd del servidor, no el sshd interno de Gitea.
El servidor se ejecuta bajo un usuario llamado git
. En /home/git/.ssh/authorized_keys
, se enumeran las claves autorizadas (por usuario y claves de implementación).
Desafortunadamente, la clave de implementación no se ofrece cuando intento clonar un repositorio con esa clave de implementación habilitada.
Digamos que me gustaría clonar [email protected]/org/repo.git
, me ofrecen una clave con una firma totalmente diferente a la que se muestra en "Implementar claves" en la interfaz de usuario web. Cuando corro ssh-keyscan gitea.myorg.foo
, solo obtengo firmas.noque se encuentra en /home/git/.ssh/authorized_keys
.
¿Cómo puedo averiguar y configurar qué claves ofrece SSH al cliente?
Editar: noté que la clave ofrecida es la marcada como HostKey
se define en /etc/ssh/sshd_config
. ¿Necesito usar el servidor SSH interno de Gitea o puedo configurar mi servidor SSH nativo en consecuencia?
Respuesta1
Confundí la clave de host y mi clave de implementación. Está totalmente bien que se devuelva la clave de host. Sin embargo, cometí el error de confiar en la clave de implementación del .knwon_hosts
archivo, donde debería usar la clave de host.