usa unlimited premium gratis francia france ssh web-hosting

unlimited - No se puede negociar con XX.XXX.XX.XX: no se encontró ningún tipo de clave de host coincidente. Su oferta: ssh-dss



ssh unlimited (6)

La versión reciente de openssh desaprobó las claves DSA de forma predeterminada. Debería sugerirle a su proveedor de GIT que agregue alguna clave de host razonable. Confiar solo en DSA no es una buena idea.

Como solución alternativa, debe decirle a su cliente ssh que desea aceptar las claves de host DSA, como se describe en la documentación oficial para el uso heredado . Tiene pocas posibilidades, pero le recomiendo agregar estas líneas en su archivo ~/.ssh/config :

Host your-remote-host HostkeyAlgorithms +ssh-dss

Otra posibilidad es utilizar la variable de entorno GIT_SSH para especificar estas opciones:

GIT_SSH_COMMAND="ssh -oHostKeyAlgorithms=+ssh-dss" git clone ssh://user@host/path-to-repository

Estoy tratando de crear un repositorio git en mi servidor web y clonarlo en mi computadora. Esto es lo que hice:

  1. Creé un repositorio en el servidor remoto.
  2. ssh-keygen -t dsa un par de claves: ssh-keygen -t dsa .
  3. Agregué mi clave a ssh-agent.
  4. Copié a la clave pública del servidor en ~/.ssh .

Y luego, después de intentar ejecutar el comando git clone ssh://user@host/path-to-repository , aparece un error:

No se puede negociar con XX.XXX.XX.XX: no se encontró ningún tipo de clave de host coincidente. Su oferta: ssh-dss
fatal: no se pudo leer desde el repositorio remoto.
Asegúrese de tener los derechos de acceso correctos y de que exista el repositorio.

Qué significa eso?


O sigues el enfoque anterior o este

Cree el archivo de configuración en el directorio .ssh y agregue estas líneas.

host xxx.xxx Hostname xxx.xxx IdentityFile ~/.ssh/id_rsa User xxx KexAlgorithms +diffie-hellman-group1-sha1


Para mí esto funcionó: (agregado en .ssh/config )

Host * HostkeyAlgorithms +ssh-dss PubkeyAcceptedKeyTypes +ssh-dss


Quiero colaborar un poco con la solución para el lado del servidor. Entonces, el servidor dice que no es compatible con DSA, esto se debe a que el cliente openssh no lo activa de manera predeterminada :

OpenSSH 7.0 y superior deshabilitan de manera similar el algoritmo de clave pública ssh-dss (DSA). También es débil y recomendamos no usarlo.

Entonces, para solucionar esto en el lado del servidor, debo activar otros algoritmos clave como RSA o ECDSA. Acabo de tener este problema con un servidor en un lan. Sugiero lo siguiente:

Actualiza el openssh:

yum update openssh-server

Combine nuevas configuraciones en sshd_config si hay un sshd_config.rpmnew.

Verifique que haya claves de hosts en / etc / ssh /. Si no genera otros nuevos, vea man ssh-keygen .

$ ll /etc/ssh/ total 580 -rw-r--r--. 1 root root 553185 Mar 3 2017 moduli -rw-r--r--. 1 root root 1874 Mar 3 2017 ssh_config drwxr-xr-x. 2 root root 4096 Apr 17 17:56 ssh_config.d -rw-------. 1 root root 3887 Mar 3 2017 sshd_config -rw-r-----. 1 root ssh_keys 227 Aug 30 15:33 ssh_host_ecdsa_key -rw-r--r--. 1 root root 162 Aug 30 15:33 ssh_host_ecdsa_key.pub -rw-r-----. 1 root ssh_keys 387 Aug 30 15:33 ssh_host_ed25519_key -rw-r--r--. 1 root root 82 Aug 30 15:33 ssh_host_ed25519_key.pub -rw-r-----. 1 root ssh_keys 1675 Aug 30 15:33 ssh_host_rsa_key -rw-r--r--. 1 root root 382 Aug 30 15:33 ssh_host_rsa_key.pub

Verifique en / etc / ssh / sshd_config la configuración de HostKey. Debe permitir la configuración de RSA y ECDSA. (Si todos ellos están comentados por defecto, también permitirá el RSA, vea en man sshd_config la parte de HostKey).

# HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key

Para el lado del cliente, cree una clave para ssh (no un DSA como en la pregunta) simplemente haciendo esto:

ssh-keygen

Después de esto, debido a que hay más opciones que ssh-dss (DSA), el cliente openssh (> = v7) debe conectarse con RSA o un algoritmo mejor.

Aquí otro buen artículo.

Esta es mi primera pregunta respondida, agradezco las sugerencias: D.


Si eres como yo y prefieres no hacer que este sistema de agujeros de seguridad sea para todo el usuario, entonces puedes agregar una opción de configuración a cualquier repositorio de git que lo necesite ejecutando este comando en esos repositorios. (la nota solo funciona con la versión git> = 2.10, lanzada el 04/09/2016)

git config core.sshCommand ''ssh -oHostKeyAlgorithms=+ssh-dss''

Sin embargo, esto solo funciona después de configurar el repositorio. Si no se siente cómodo agregando un control remoto manualmente (y solo desea clonar), puede ejecutar el clon de esta manera:

GIT_SSH_COMMAND=''ssh -oHostKeyAlgorithms=+ssh-dss'' git clone ssh://user@host/path-to-repository

luego ejecute el primer comando para hacerlo permanente.

Si no tiene la última versión y todavía desea mantener el agujero lo más local posible, le recomiendo poner

export GIT_SSH_COMMAND=''ssh -oHostKeyAlgorithms=+ssh-dss''

en un archivo en algún lugar, diga git_ssh_allow_dsa_keys.sh y git_ssh_allow_dsa_keys.sh cuando sea necesario.


También puede agregar -oHostKeyAlgorithms=+ssh-dss en su línea ssh:

ssh -oHostKeyAlgorithms=+ssh-dss user@host