Подтвердить что ты не робот

Push/pull для Github нарушается в Android Studio и IntelliJ

У меня есть SSH для аутентификации с Github из Android Studio (3.0.1 - Build # AI-171.4443003) и IntelliJ (2017.3.4 - Build 173.4548.28), и все работает нормально до вчерашнего дня (22 февраля 2018 года),

Внезапно сегодня (23 февраля 2018 года), когда я пытался нажать или вытащить что-либо в/из Github в IntelliJ или Android Studio, он не работает, и я получаю это сообщение в "Консоли управления версиями":

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.

Это произошло одновременно на двух разных машинах: Windows 7 Enterprise и Windows 10.

Почему это внезапно перестало работать, и как я могу это исправить?

4b9b3361

Ответ 1

Решение:

Для IntelliJ - обновление IntelliJ 2018.1 или 2017.3.5 (173.4674.1).

Для Android Studio - обновление для Android Studio 3.1 см. Этот комментарий к трекеру проблем.

Фон:

Github вызвал это 23 февраля 2018 года, постоянно устраняя поддержку слабых криптографических стандартов:

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

Тем не менее, IntelliJ и Android Studio все еще имеют проблемы с некоторыми рукопожатиями SSH с использованием сильных шифров безопасности:

Эта основная проблема была исправлена в IntelliJ 2018.1: https://youtrack.jetbrains.com/issue/IDEA-140196#comment=27-2717976

... а также 2017.3.5 (173.4674.1).

Для Android Studio исправление доступно в Studio 3.1, см. Этот комментарий к трекеру проблем.

Поскольку @Kyung Yoon упоминает в своем ответе как обходное решение, вы можете изменить исполняемый файл SSH на "Родной", но, как упоминалось в выпуске IntelliJ, обратите внимание на то, что:

Переход на Native будет работать, но если ваши ключи защищены паролем, вам нужно будет сначала загрузить их в ssh-agent

Ответ 2

IntelliJ столкнулся с проблемой с github push, pull с February 23, 2018. Причина в том, что слабая криптография Built-in SSH в IntelliJ больше не поддерживается github.

Решение прост, без обновления IntelliJ.

[IntelliJ - File - Settings - Version Controll - Git] 

You can change 'SSH executable' from 'Build-in' to 'Native'.

enter image description here

Поскольку "Native" использует git.exe, проблем нет, потому что большинство клиентов git уже используют последнюю криптографию. Если вы используете старый git-клиент, обновите его!

https://git-scm.com/download

ps) IntelliJ, PhpStorm и Android Studio имеют одну и ту же проблему и могут быть разрешены одинаково.

фон) Шон Барбо ответ.