En el sistema Ubuntu 22.04 recién instalado, git no se puede usar para descargar código de forma predeterminada, así como varios comandos y servicios basados en git, como repo, codeup, github, etc. Ejecute el comando, el mensaje de error:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
o
kex_exchange_identification: Connection closed by remote host
Connection closed by 123.123.123.123 port 22
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Primero, asegúrese de que no haya ningún problema con la configuración de sshkey en los lados local y del servidor.
Después de la investigación, openssh (versión 8.x) reemplazó el algoritmo de cifrado predeterminado rsa con SHA-1 por razones de seguridad. Puede modificar el algoritmo de cifrado predeterminado a través del archivo de configuración y continuar usando el algoritmo rsa.
Verifique la versión de openssh-server instalada en esta máquina, es la versión 8.9.
$ apt search openssh-server
Sorting... Done
Full Text Search... Done
openssh-server/jammy-updates,now 1:8.9p1-3ubuntu0.1 amd64 [installed]
Para modificar el algoritmo de cifrado predeterminado, se pueden agregar las siguientes opciones al archivo de configuración:
PubkeyAcceptedKeyTypes +ssh-rsa
Modifique el archivo de configuración local (~/.ssh/config):
$ cat .ssh/config
Host your.git.domain
HostName your.git.domain
# PreferredAuthentications publickey
PubkeyAcceptedKeyTypes +ssh-rsa
IdentityFile ~/.ssh/id_rsa
Prueba después de la modificación:
se puede acceder al servidor git normalmente.
$ ssh -p <git_port> [email protected]
**** Welcome to Gerrit Code Review ****
Hi git_user_name, you have successfully connected over SSH.
Connection to gerrit.qisi.ltd closed.