Git с IntelliJ IDEA: не удалось прочитать из удаленного репозитория
С нескольких недель я не могу вытащить или нажать или в удаленный репозиторий. Я подумал, что это произойдет при обновлении до IntelliJ IDEA 14, но я также могу воспроизвести проблему с IDEA 13.1.5.
В подсказке говорится:
Ошибка при извлечении
fatal: Не удалось прочитать из удаленного репозитория.
и исключение на вкладке "Контроль версий" читает
14:02:37.737: cd C:\dev\project
14:02:37.737: git -c core.quotepath=false fetch origin --progress --prune
java.io.IOException: Padding in RSA public key!
at com.trilead.ssh2.signature.RSASHA1Verify.decodeSSHRSAPublicKey(RSASHA1Verify.java:37)
at com.trilead.ssh2.KnownHosts.addHostkey(KnownHosts.java:98)
at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:414)
at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:440)
at com.trilead.ssh2.KnownHosts.addHostkeys(KnownHosts.java:137)
at org.jetbrains.git4idea.ssh.SSHMain.configureKnownHosts(SSHMain.java:462)
at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:155)
at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137)
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Используя встроенный терминал IntelliJ, выполняющий git -c core.quotepath=false fetch origin --progress --prune
, он работает так, как должен.
В соответствии с stacktrace, кажется, проблема с моим KnownHosts
, поэтому я удалил наш сервер git из ~/.ssh/known_hosts
, надеясь, что IntelliJ снова вставляет его. Но проблема по-прежнему возникает при обновлении через пользовательский интерфейс, и нет новой записи, написанной в known_hosts
; думая о некотором кэшировании файла, я перезапустил IntelliJ без успеха.
Когда вы делаете еще один git fetch
с терминала, теперь меня спрашивают, хочу ли я постоянно добавлять сервер. После этого он снова был записан в known_hosts
, но IntelliJ все еще не позволяет мне обновлять мой проект.
Я ничего не нашел об этом поведении в Интернете, поэтому, я думаю, это не известная ошибка с новой версией IntelliJ. Тем не менее, я обновился до 14.0.2, но проблема все еще существует.
IntelliJ настроен на использование встроенного исполняемого файла SSH.
Кто-нибудь знает, что может быть проблемой здесь?
Ответы
Ответ 1
IntelliJ встроенный SSH-клиент, похоже, hash его known_hosts
, но тот, который у меня был с именами хостов в ясном тексте.
Когда я удаляю файл и позволяю IntelliJ создавать новый, только с моим (хэшированным) сервером GitLab и ничем другим, он работал.
Невозможно также его смешивать - сохраняйте некоторые незашифрованные записи вместе с хэшированными записями для IntelliJ. Таким образом, вы должны настроить другие клиенты SSH для использования хэшированных хостов.
Ответ 2
Settings --> Version Control --> Git
, а затем в выпадающем списке SSH выберите Native
![Version Control: Git: SSH executable: For current project]()
Если это не поможет, убедитесь, что ваши нативные клиенты ssh
и git
имеют достаточно свежую версию.
Ответ 3
Перейдите в раздел "Настройки" > "Управление версиями" > Git. Убедитесь, что для исполняемого файла SSH установлено значение "Родной". (Если это уже так, переключите его на "Встроенный", примените его, а затем снова верните в "Нативный".).
Если это не решит вашу проблему, я бы предложил загрузить клиент Git, такой как клиент GitHub (бесплатное настольное приложение), и попытаться синхронизировать ваш проект с помощью приложения. Затем вернитесь к IntelliJ и проверьте, не работает ли он.
Ответ 4
Я начал получать Could not read from remote repository
ошибку Could not read from remote repository
последнее время при работе с моим github репозиторием. Мои спецификации:
- IntelliJ IDEA 2017.3.4 (Ultimate Edition)
- Настройки → Контроль версий → Git → исполняемый файл SSH → Встроенный
- Fedora Linux
![enter image description here]()
Конечно, эти проблемы возникали только при попытке нажать/вытащить/извлечь и т.д. Из IDE - выполнение одних и тех же команд из командной строки работало как шарм.
Решение, которое сработало для меня
Я не хотел переключаться с Built-In
SSH файла на Native
, в основном потому, что мой собственный SSH-клиент запрашивает у меня пароль в любое время, когда я пытаюсь синхронизировать с удаленным репозиторием.
Я решил эту проблему, переключившись с удаленного URL-адреса SSH на HTTPS-URL. Согласно этой странице справки GitHub - рекомендуется использовать HTTPS-URL вместо SSH.
Изменение удаленного URL-адреса с SSH
на HTTPS
В IntelliJ IDEA перейдите в VCS → Git → Remotes..., выберите строку, содержащую "origin", и нажмите кнопку "Изменить". Если вы размещаете свой репозиторий на GitHub, замените URL-адрес SSH:
[email protected]:USERNAME/REPOSITORY.git
чтобы:
https://github.com/USERNAME/REPOSITORY.git
Вы также можете получить URL-адрес HTTPS со своей домашней страницы репозитория GitHub - нажмите кнопку "Клонировать или загрузить" и нажмите ссылку "Использовать HTTPS", чтобы отобразить URL-адрес вашего HTTPS-репозитория:
![enter image description here]()
ОБНОВЛЕНИЕ 2018-03-13
JetBrains только что выпустили IntelliJ IDEA 2017.3.5, который включает исправление для доступа SSH к GitHub - https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5-fix-for-ssh-access -в-GitHub/
Ответ 5
в pyCharm,
file|
v-->settings|
v-->Version Control|
v-->Git
Здесь можно изменить SSH executable
из Built-in
в Native
затем нажмите " apply
и close
Ответ 6
- Перейдите в Settings-> Git-> Select Native в раскрывающемся списке исполняемых файлов SSH. (Если он не выбран)
- Скопируйте ссылку HTTPS из своего репозитория Github.
- Перейдите в VCS-> Git-> Remotes..
- Отредактируйте начало и вставьте ссылку HTTPS в поле URL.
- Нажмите
Ctrl+Shift+k
и нажмите проект в репозиторий. Оно работает.
Ответ 7
Я решил эту проблему, повторно добавив удаленный репозиторий: VCS → Git → Remotes.
Ответ 8
то, что @yabin ya говорит, является отличным решением, просто напомните, что: если у вас все еще проблема, перейдите в Settings-Version Control-GitHub и снимите флажок Clone git repositories using ssh
.
Ответ 9
Вам нужно создать новый ключ SSH и добавить его в свой ssh-agent. Для этого вы должны следовать этой ссылке.
После того, как вы создадите открытый ключ и добавите его в свою учетную запись github, вы должны использовать встроенную (не родную) опцию в Setting-> Version Control → Git → SSH, исполняемую в вашей Intellij Idea.
Ответ 10
Недавно мы обновили IntelliJ 12 до IntelliJ 14 Ultimate, и мы столкнулись с этой проблемой. Нашим решением было отключить прокси-сервер в настройках. Мы также перестали запоминать пароли один раз, но, возможно, не уверены, что это поможет.
Настройки прокси-сервера находятся в разделе "Параметры файла -Поиск и поведение-Системные настройки-HTTP-прокси".
Ответ 11
Я решил эту проблему, удалив пароль для ключа ssh в PuTTY.
Ответ 12
это помогло мне исправить текущую проблему
Если вы используете macOS Sierra 10.12.2 или новее, вам нужно будет изменить файл ~/.ssh/config, чтобы автоматически загружать ключи в ssh-agent и хранить фразы в вашей цепочке ключей.
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
источник
Ответ 13
Не решение/обходной путь, но, возможно, ответ на вопрос "что может быть проблемой":
Gitlab и "реактивные мозги, встроенные в библиотеку ssh" не работают хорошо. Библиотека хочет использовать алгоритм обмена ключами на основе SHA1, где gitlab (по умолчанию) позволяет использовать алгоритм обмена ключами на основе SHA2.
Об этом сообщается как минимум для TeamCity (https://youtrack.jetbrains.com/issue/TW-47704).
Тот факт, что это также может быть причиной проблемы с pull/push в IntelliJ, а также моя проблема с push-проблемой в PhpStorm, основаны на том, что jetbrains ASSUMPTION используют одну и ту же "встроенную библиотеку" для всего своего программного обеспечения.
Ответ 14
Я решил эту проблему, добавив свой закрытый ключ SSH к ssh-agent в команде:
$ ssh-add -K ~/.ssh/id_rsa
И установив Settings --> Version Control --> Git
, а затем в выпадающем списке SSH выберите Native
Ответ 15
У меня была эта проблема с вилкой из какого-то онлайн-курса. Я клонировал свою вилку и столкнулся с ошибкой разрешений. Я не мог понять, почему он настаивал, что я был моим пользователем из моей другой компании. Но, как заметил предыдущий комментатор, я установил параметр Clone git repositories using ssh
, и я забыл добавить ключ ssh в свою новую учетную запись. Так что я сделал, а затем все еще не мог нажать, потому что я получил ЭТУ ошибку. То, как я решил это, было нажатие с использованием клиента Github Desktop.
Takeaways:
- Когда вы открываете новую учетную запись GitHub, обязательно добавьте к ней ключ ssh
- Используйте разные ключи ssh для разных учетных записей.
- В общем, я сталкиваюсь с проблемой GitHub на IntelliJ по крайней мере один или два раза для каждого проекта. Убедитесь, что у вас есть копия рабочего стола GitHub и загружайте в нее свои проекты. Он может и поможет вам с множеством проблем, с которыми вы можете столкнуться с Intellij - не только этим. Это действительно отличный клиент GUI и бесплатный!
- Возможно, имеет смысл делать то, что предлагает @yabin, и использовать собственный клиент на Mac
Ответ 16
Единственное, что помогло в моем случае (сменить SSH-executabe, не работало) было деактивировать плагин git и git -flow, перезапустить intellij и снова активировать эти плагины...
Ответ 17
Не забудьте обратиться к системному администратору.
Потому что в моем случае я правильно настроил все настройки (добавлен SSH), но я получил ту же ошибку
недоступен доступ к хранилищу. фатальный: не удалось прочитать с удаленного хранилище.
Причина была в том, что я только имел доступ на чтение к этому репозиторию. Поэтому, не тратя драгоценное время, пожалуйста, проверьте это как первое.
Спасибо.
Ответ 18
Если все остальное не работает, просто перейдите к своему терминалу и введите из своей папки:
git push origin master
Это то, чего первоначально хотели Боги.
Ответ 19
Недавно у меня была проблема с WebStorm (февраль/2018 год), и ни один из предыдущих (тогда) предыдущих решений не работал для меня. Потратив несколько часов на поиск и устранение неисправностей, я установил версию EAP 2018, и теперь она работает!
В декабре /2017 году сообщалось о новой проблеме подсистемы IntelliJ Idea> VCS/Git, которая была исправлена в сборке 181.2445 (или любой последней сборки после 31 января /2018 года).
См. Также сообщение Update-ssh-key-to-use-new-passphrase
Ответ 20
Проблема решена в моем компьютере.
settings--> Версия Control--> Git, а затем в раскрывающемся списке исполняемого файла SSH выберите встроенную опцию.
и установите git более старую версию примерно как 2.14.2.
Его работы хорошие!
Ответ 21
Проверьте настройки прокси-сервера Idea, если вы пытаетесь подключиться к облачным сервисам, таким как github или bitbucket. Это можно сделать, если вы планируете устанавливать плагины или проверяете обновления программного обеспечения в меню help
. Если интернет/прокси настройки не правильно добавить действительные записи или установить его на auto
Ответ 22
Это фиксировало это для меня (я использую SSH, а не HTTPS, а родной git, а не встроенный) на MacOS High Sierra (10.13.5)/IntelliJ IDEA 2018.4:
![File -> Invalidate Caches and Restart]()
Ответ 23
Я решил проблему просто, убедившись, что у меня есть правильный git SSH url без каких-либо конечных пробелов:
[email protected]:USERNAME/REPOSITORY.git
Ответ 24
Добавление этого ответа, поскольку ни один из ответов не работал для меня.
У меня были проблемы с сертификатами, поэтому следующая команда сделала трюк.
git config --global http.sslVerify false
взято из https://confluence.atlassian.com/fishkb/unable-to-clone-git-repository-due-to-self-signed-certificate-376838977.html
Ответ 25
Ничто не помогло мне. Затем я увидел, что имя проекта на компьютере отличается от имени в репозитории git.
Поэтому я решил проблему.
Ответ 26
Я пробовал все решения выше (Native, меняя URL-адрес репозитория VCS, обновляя Git, обновляя IDEA, недействительные кеши), но мне ничего не помогло. Наконец, я нашел решение, которое работает для меня.
РЕШЕНИЕ: Я закрыл Idea и заменил содержимое файла ~\.IntelliJIdea20xx.x\config\options\git.xml
следующим образом:
<application>
<component name="Git.Application.Settings">
<option name="SSH_EXECUTABLE" value="IDEA_SSH" />
</component>
</application>
Затем я начал IDEA, попробовал проверить хранилище SSH GIT, и он работает, и существующие проекты также работают. Интересным фактом является то, что когда я переключаюсь на NATIVE в настройках Idea, репозиторий не работает.
Ответ 27
У меня такая же проблема. Использовал битбакет и не мог потянуть/обновить репозиторий на Intellij. Пробовал переходить на родной и обратно на встроенный, но он не работал. Затем понял, что я создал ключ ssh с парольной фразой.
Я восстановил ключ без кодовой фразы, а затем добавил его в битбакет. Это сработало !
Ответ 28
Я попробовал Native
но у меня ничего не -m
, наконец регенерирую ключ ssh старым способом и добавляю -m
в команду ssh-keygen
. Также IDEA работает со build-in
опцией как хорошо.
ssh-keygen -m PEM -t rsa -b 4096 -C "[email protected]"
Ответ 29
При добавлении удаленного URL измените его с этого
https://[email protected]/usernameowner/project-name.git
к этому
https://bitbucket.org/usernameowner/project-name.git
Ответ 30
Я изменил путь git, и это сработало.
![enter image description here]()