remote intellij idea configurar git android-studio github intellij-idea ssh

idea - Push/pull a Github está roto en Android Studio e IntelliJ



intellij idea git fetch (2)

IntelliJ encontró un problema con el github push, pull del February 23, 2018 . La razón es que el criptográfico débil de Built-in SSH en IntelliJ ya no es compatible con github.

La solución es simple, sin actualizar IntelliJ.

[IntelliJ - File - Settings - Version Controll - Git] You can change ''SSH executable'' from ''Build-in'' to ''Native''.

Dado que ''Native'' usa git.exe, no hay problema porque la mayoría de los clientes git ya tienen el último cifrado aplicado. Si está utilizando un antiguo cliente git, por favor actualice!

https://git-scm.com/download

ps) IntelliJ, PhpStorm y Android Studio tienen el mismo problema y pueden resolverse de la misma manera.

De fondo) la respuesta de Sean Barbeau.

Tengo SSH configurado para autenticarme con Github desde Android Studio (3.0.1 - Compilación # AI-171.4443003) e IntelliJ (2017.3.4 - Compilación 173.4548.28) y todo funcionó bien hasta ayer (22 de febrero de 2018) .

De repente, hoy (23 de febrero de 2018), cuando intenté empujar o jalar algo de Github en IntelliJ o Android Studio, falla y recibo este mensaje en la "Consola de control de versiones":

16:41:14.159: [onebusaway-android] git -c core.quotepath=false pull --progress --no-stat -v --progress upstream master java.io.IOException: There was a problem while connecting to github.com:22 at com.trilead.ssh2.Connection.connect(Connection.java:791) at com.trilead.ssh2.Connection.connect(Connection.java:577) at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:172) at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:138) Caused by: java.io.IOException: Key exchange was not finished, connection is closed. at com.trilead.ssh2.transport.KexManager.getOrWaitForConnectionInfo(KexManager.java:92) at com.trilead.ssh2.transport.TransportManager.getConnectionInfo(TransportManager.java:230) at com.trilead.ssh2.Connection.connect(Connection.java:743) ... 3 more Caused by: java.io.IOException: Cannot negotiate, proposals do not match. at com.trilead.ssh2.transport.KexManager.handleMessage(KexManager.java:413) at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:754) at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:469) at java.lang.Thread.run(Thread.java:745) fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

Esto sucedió al mismo tiempo en dos máquinas diferentes, una con Windows 7 Enterprise y la otra con Windows 10.

¿Por qué de repente esto dejó de funcionar y cómo puedo solucionarlo?


Solución:

Para IntelliJ: actualización a IntelliJ 2018.1 o 2017.3.5 (173.4674.1).

Para Android Studio: actualice a Android Studio 3.1 vea este comentario sobre el rastreador de problemas .

Fondo:

Github activó esto el 23 de febrero de 2018 al eliminar permanentemente el soporte para estándares criptográficos débiles:

https://github.com/blog/2507-weak-cryptographic-standards-removed

Sin embargo, IntelliJ y Android Studio todavía tienen problemas con algunos handshakes de SSH que usan cifrados de seguridad sólidos:

Este problema subyacente se ha solucionado en IntelliJ 2018.1: https://youtrack.jetbrains.com/issue/IDEA-140196#comment=27-2717976

... así como 2017.3.5 (173.4674.1).

Para Android Studio, la solución está disponible en Studio 3.1, vea este comentario sobre el rastreador de problemas .

Como @Been Kyung Yoon menciona en su respuesta como solución alternativa, puede cambiar el ejecutable de SSH a "Nativo", pero como se mencionó en la nota del problema de IntelliJ:

Cambiar a Native funcionará, pero si sus claves están protegidas con frase de contraseña, primero deberá cargarlas en ssh-agent