IntelliJ IDEA ile git: Uzak depodan okunamadı


260

Birkaç haftadan beri, uzak depodan içeri veya dışarı veri havuzuna gidemiyorum. IntelliJ IDEA 14'e yükseltme yaparken bunun olduğunu düşündüm, ancak sorunu IDEA 13.1.5 ile de yeniden oluşturabilirim.

Araç ipucu "Getirme ölümcül başarısız oldu: Uzak depodan okunamadı."

ve Sürüm Denetimi sekmesindeki istisna

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'in yerleşik terminalini kullanarak yürütme git -c core.quotepath=false fetch origin --progress --prune, olması gerektiği gibi çalışır.

Stacktrace göre, benim ile ilgili bir sorun var gibi görünüyor KnownHosts, bu yüzden git sunucumuzu ~/.ssh/known_hosts, IntelliJ tekrar eklemek umuduyla sildi . Ancak kullanıcı arayüzü üzerinden güncelleme yapılırken sorun hala ortaya çıkıyor ve yeni bir giriş yazılmıyor known_hosts; dosyanın önbelleğe alınmasını düşündüğümde, IntelliJ'i başarılı bir şekilde yeniden başlattım.

git fetchTerminalden başka bir şey yaparken , şimdi sunucuyu kalıcı olarak eklemek isteyip istemediğim sorulur. Bundan sonra known_hoststekrar yazıldı , ancak IntelliJ hala projemi güncellememe izin vermiyor.

Bu davranış hakkında çevrimiçi bir şey bulamadım, bu yüzden yeni IntelliJ sürümünde bilinen bir hata değil sanırım. Bununla birlikte, 14.0.2'ye güncelledim, ancak sorun hala var.

IntelliJ, yerleşik SSH yürütülebilir dosyasını kullanacak şekilde yapılandırılmıştır.

Burada bir sorun olabilecek bir ipucu var mı?


Git deponuza manuel olarak bir SSH anahtarı eklediniz mi?
aurelius

@aurelius evet, GitLab kullanıyoruz ve bunu profilime gönderdim.
stuXnet

IntelliJ, genel / özel anahtar çiftinizden memnun değil. Nasıl ürettin?
yole

@yole ikisini de denedim puttygenve Git GUIilk düşüncem de öyle. Anahtar çiftimle ilgili olduğundan emin misin? İstisna bilinen ana bilgisayarlarla ilgili gibi görünüyor: code.google.com/p/connectbot/source/browse/src/com/trilead/ssh2/…
stuXnet

Downvote hakkında emin değilim - bilinen_hosts'ta karma / unhashed girdileri ile ilgili bir sorun var gibi görünüyor. Biraz daha konuya girip soruyu cevaplayacağım.
Stuxnet

Yanıtlar:


721

Settings --> Version Control --> Gitve ardından SSH yürütülebilir açılır menüsünde şunu seçin: Native

Sürüm Kontrolü: Git: SSH yürütülebilir: Mevcut proje için

Bu yardımcı olmazsa, yerel sshve gitmüşterilerinizin yeterince yeni bir sürümde olduklarından emin olun .


5
SSH uygulamasını değiştirmenin mümkün olduğunu biliyorum, hatta yerleşik yürütülebilir dosyayı kullandığımı bile yazdım (yazmadım: yerli Windows'ta çalışmıyor) Ama mesajınız cevap vermiyor sorum yerleşik çalıştırılabilir ile sorunun ne olabilir.
stuXnet

22
Benim için yardım edemem
Hellboy

8
@Jimbo Benim varsayım, ama ben bunu nasıl anlıyorum: Dahili depoda başka bir "Kullanıcı" kullanır, daha önce "Kullanıcı" dosyaları ve değişiklikleri itmek için izin verildi. Bu "Kullanıcı" bir Güncelleme ile sıfırlandı ve artık yapılamıyor. Yerel, makinenizde oturum açtığınız Hesabı kullanır.
AlexG

10
Garip. 2 + yıl çalıştıktan sonra bana bunu yapmaya başlamak 3 ayrı bilgisayar vardı. bu sorunu çözdü. WTF
Nicholas DiPiazza

11
@NicholasDiPiazza Bu, Github, github.com/blog/2507-weak-cryptographic-standards-removed şifreleme standartlarının kaldırılmasıyla ilgilidir . Ayrıca "yerleşik" kitaplıklar kullanan diğer yazılımlar (örn. TeamCity) bu değişiklikten etkilenir. Yerel git istemciniz muhtemelen günceldir, bu nedenle bu adım bunu düzeltir.
philsch

68

Tercihler> Sürüm Kontrolü> Git'e gidin. SSH yürütülebilir dosyasının “Yerel” olarak ayarlandığından emin olun. (Zaten öyleyse, “Yerleşik” olarak değiştirin, uygulayın ve sonra tekrar “Yerel” olarak değiştirin.).

Bu sorununuzu çözmezse GitHub istemcisi (ücretsiz masaüstü uygulaması) gibi bir Git istemcisi indirmenizi ve projenizi uygulama üzerinden senkronize etmeyi öneririm. Ardından IntelliJ'e geri dönün ve çalışıp çalışmadığını kontrol edin.


1
Android Studio'da da iyi çalışıyor. Bu sorun beni kızdırıyordu, teşekkürler @Farbod jan!
Javad Sadeqzadeh

1
Toggling SSH executablebenim için çalıştı. Ben de zaten Nativeoradaydım.
nic

1
Yerleşiklere dönmeyi düşünen herkes için: önce yerel SSH'nizi güncellemeyi düşünün. Yerel yürütülebilir dosya işletim sistemi boyunca kullanılır ve IDE'nizin içinde ve dışında tutarlı bir şekilde davranacaktır.
milosmlar

52

Could not read from remote repositorySon zamanlarda benim ile çalışırken hata almaya başladımdeposu. Benim özellikleri:

  • IntelliJ IDEA 2017.3.4 (Ultimate Edition)
  • Ayarlar -> Sürüm Kontrolü -> Git -> SSH yürütülebilir -> Dahili
  • Fedora Linux

resim açıklamasını buraya girin

Tabii ki bu problemler sadece IDE'den itme / çekme / getirmeye çalışırken ortaya çıktı - komut satırından aynı komutları yürütmek bir cazibe gibi çalıştı.

Benim için çalışan çözüm

Built-InSSH yürütülebilir dosyasından geçmek istemedim Native, çünkü çoğunlukla yerel SSH istemcim uzak havuzla senkronize etmeye çalıştığımda şifreyi istedi.

SSH uzak URL'sinden HTTPS URL'sine geçerek bu sorunu çözdüm. Bu GitHub yardım sayfasına göre - SSH yerine HTTPS URL'sinin kullanılması önerilir .

Uzak URL'yi olarak olarak SSHdeğiştirHTTPS

IntelliJ IDEA'da VCS -> Git -> Uzaktan Kumandalar ... 'a gidin , "başlangıç ​​noktası" içeren satırı seçin ve düzenle düğmesine tıklayın. Deponuzu GitHub'da barındırıyorsanız SSH URL'nizi şuradan değiştirin:

git@github.com:USERNAME/REPOSITORY.git

için:

https://github.com/USERNAME/REPOSITORY.git

HTTPS URL'nizi GitHub veri havuzu ana sayfanızdan da alabilirsiniz - "Klonla veya indir" düğmesini tıklayın ve deponuzun HTTPS URL'sini görüntülemek için "HTTPS Kullan" bağlantısını tıklayın:

resim açıklamasını buraya girin

GÜNCELLEME 2018-03-13

JetBrains, GitHub'a SSH erişimi için düzeltme içeren IntelliJ IDEA 2017.3.5'i yayınladı - https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5-fix-for-ssh-access to-github /


2
Bu benim için MacBook Pro, PHPStorm 2017.3.4'te (30 Ocak 2018'de belirtilen 1/31 gerekli yapım tarihinden önce) çalışan çözümdür.
Edward Barnard

1
Bu çözüm işe yaradı, genellikle sorun birçok kullanıcının uzaktan kumandayı tanımlamak için SSH anahtarını kullanmaya çalışması, ancak size bir hata veriyor. SSH'den HTTPS'ye geçmek çoğu zaman çözümdür.
Kourosh

1
üzerinde https slove benim konuyla dayalı bağlantıyı kullanarak PhpStorme sürümü 2018/01/05
Dmitri

1
Bu çözüm benim için Intellij IDEA MacBook Pro'da çalıştı.
shaojun lyu

1
URL'yi https bağlantısına değiştirmek için GitLab ile de çalışır.
Usta James

23

IntelliJ'in yerleşik SSH istemcisi hashknown_hosts gibi görünüyor , ancak sahip olduğum kişi ana metinlerini açık metin olarak yazdı.

Dosyayı sildiğimde ve IntelliJ'in yalnızca (karma) GitLab sunucum ve başka bir şeyle yeni bir tane oluşturmasına izin verdiğimde, işe yaradı.

Ayrıca karıştırmak da mümkün değildir - IntelliJ için karma girişlerle birlikte bazı unhashed girişleri tutun. Bu nedenle, diğer SSH istemcilerinizi karma ana bilgisayarları kullanacak şekilde yapılandırmanız gerekir .


14
  1. SSH yürütülebilir açılır menüsünde Ayarlar-> Git-> Yerel Seç'e gidin. (Seçili değilse)
  2. Github veri havuzunuzdan HTTPS bağlantısını kopyalayın.
  3. VCS-> Git-> Uzaktan Kumandalar'a gidin.
  4. URL alanında başlangıç ​​noktasını ve HTTPS Yapıştır bağlantısını düzenleyin.
  5. Ctrl+Shift+kProjeye basın ve depoya itin. İşe yarıyor.

1
SSH ile URL'leri HTTPS protokolü ile değiştirme arasındaki bağlantı nerede?
sweisgerber.dev

sadece bilmek istiyorum, kimse nerede github burada bahsetti?
Emad Ha

Bu benim için çalıştı, Bitbucket kimlik bilgilerimi istedi, sonra gitmek iyi.
Marlon

13

pyCharm'da,

file|
    v-->settings|
                v-->Version Control|
                                   v-->Git

İşte değiştirmek SSH executabledan Built-iniçineNative

sonra applyveclose


11

Uzak depoyu yeniden ekleyerek bu sorunu çözdüm: VCS -> Git -> Remotes.


4
Benim durumumda iyi bir seçenek değil ... Şimdi tekrar ekleyemiyorum, " Geçersiz uzak [...] Uzak URL testi başarısız oldu: Uzak depodan okunamadı. " Mesajı alınabilir. git cli aracılığıyla github için.
Ricardo

1
@Ricardo
Uri Goren ile

@uri hiçbir çözüm benim için çalışmadı. Aralık 2017'de bildirilen bir sorunu çözen 2018 EAP'yi kurdum . Sonunda işe yaradı! ayrıca bkz. post -ssh-key-to-use-new-passphrase
Ricardo

Soruya yorum ekledim ama gizlendiler. Ben de bir cevap ekledim .
Ricardo

Bilinmeyen bir sebepten dolayı PHPStorm 2017.4 için çalışıyor. Teşekkürler!
Maksim

5

@yabin ya ne diyor serin bir çözüm, sadece hatırlatmak: Eğer hala aynı sorunu alırsanız, Ayarlar-Sürüm Control-GitHub gidin ve işaretini kaldırın Clone git repositories using ssh.


5

Yeni bir SSH anahtarı oluşturmanız ve ssh aracısına eklemeniz gerekir. Bunun için bu bağlantıyı takip etmelisiniz .

Ortak anahtarı oluşturduktan ve github hesabınıza ekledikten sonra, Intellij Idea'nızda Setting-> Sürüm Kontrolü -> Git -> SSH yürütülebilir altındaki Yerleşik (Yerel değil) seçeneğini kullanmalısınız.


1
Bana geçiş için NativeMac'te sorun çözülecek
Jeroen Vermeulen - MageHost

Bu sorunla yaklaşık bir hafta kadar uğraştım (neyse ki git komut satırını bu arada kullanabilirim) .. Sonunda nasıl çözdüm SSH Anahtarlarımı yeniden üretiyordum, ama aynı zamanda bilgisayarımı yeniden başlatmak ve komut satırını kullanmak zorunda kaldım ssh-add.
Crenguta S

3

Yakın zamanda IntelliJ 12'den IntelliJ 14 Ultimate'a güncelledik ve bu sorunla da karşılaştık. Çözümümüz ayarlarda proxy'yi devre dışı bırakmaktı. Ayrıca şifreleri bir kez hatırlamayı bıraktık, ancak bunun yardımcı olup olmadığından emin olamayabiliriz. Proxy ayarları Dosya-Ayarlar-Görünüm ve Davranış-Sistem ayarları-HTTP Proxy altındadır.


İlginç! Yani aynı yığın izine sahip miydin?
stuXnet

Aynı yığını izledik (cevabı biraz değiştirdim)
Koen de Roo

3

bu, mevcut sorunu düzeltmeme yardımcı oldu

MacOS Sierra 10.12.2 veya üstünü kullanıyorsanız, anahtarları otomatik olarak ssh-agent'a yüklemek ve parolaları anahtarlığınızda saklamak için ~ / .ssh / config dosyanızı değiştirmeniz gerekecektir.

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa

kaynak



2

SSH özel anahtarımı komutta ssh-agent'a ekleyerek bunu çözdüm:

$ ssh-add -K ~/.ssh/id_rsa

Ayarlayın Settings --> Version Control --> Gitve ardından SSH yürütülebilir açılır menüsünde şunu seçin:Native


1

Bir çözüm / geçici çözüm değil, belki de 'sorun ne olabilir' sorusuna bir cevap:

Gitlab ve 'ssh kütüphanesinde yerleşik jetbrains' birlikte iyi çalışmaz. Kütüphane, gitlab'ın (varsayılan) yalnızca SHA2 tabanlı anahtar değişim algoritmalarına izin verdiği SHA1 tabanlı anahtar değişim algoritmasını kullanmak istemektedir.

Bu en azından TeamCity için bildirildi ( https://youtrack.jetbrains.com/issue/TW-47704 ).

IntelliJ'deki çekme / itme sorununuzun da nedeni olabilir ve ayrıca PhpStorm'daki itme sorunum, ASSUMPTION jetbrains'in tüm yazılımları için aynı 'yerleşik kitaplığı' kullanmasına dayanıyor.


0

Bazı çevrimiçi kurs çatal ile bu sorun vardı. Çatalımı klonladım ve izin hatasıyla karşılaştım. Neden diğer şirketimden kullanıcı olduğumu ısrarla anlayamıyordum. Ancak önceki yorumcunun belirttiği gibi Clone git repositories using sshayarı kontrol ettirdim ve yeni hesabıma bir ssh anahtarı eklemeyi unutmuştum. Bu yüzden yaptım ve sonra hala itemedim çünkü bu hatayı aldım. Çözdüğüm yol Github Desktop istemcisini kullanmaktı.

çıkarımlar:

  1. Yeni bir GitHub hesabı açtığınızda, hesaba bir ssh anahtarı eklediğinizden emin olun
  2. Farklı hesaplar için farklı ssh anahtarları kullanma
  3. Genel olarak her proje için en az bir veya iki kez IntelliJ'de bazı GitHub sorunuyla karşılaşıyorum. GitHub masaüstünün bir kopyasına sahip olduğunuzdan emin olun ve projelerinizi buraya yükleyin. Sadece bu değil, Intellij ile karşılaşabileceğiniz birçok problemde size yardımcı olabilir ve yardımcı olacaktır. Aslında gerçekten güzel bir GUI istemcisi ve ücretsiz!
  4. @Yabin'in önerisini yapmak ve yerel istemciyi Mac'te kullanmak muhtemelen mantıklıdır

0

Benim durumumda yardımcı olan tek şey (switch SSH-executabe işe yaramadı) git ve git-flow eklentisini devre dışı bırakmak, intellij'i yeniden başlatmak ve bu eklentileri tekrar etkinleştirmekti ...


0

Sistem yöneticinize başvurmayı unutmayın.

Çünkü benim durumumda her şeyi doğru yapılandırdım (SSH de eklendi) ama aynı hatayı aldım

depo erişimi reddedildi. ölümcül: Uzak depodan okunamadı.

nedeni sadece bu depoya okuma erişimim vardı. Bu nedenle, değerli zamanınızı boşa harcamayınca lütfen ilk önce bunu kontrol edin. Teşekkür ederim.


Sen var java.io.IOException: Padding in RSA public key!hiçbir yeterli izinleri varken günlüğüne? Bu ilginç ve IntelliJ'in SSH kullanımında bir hata olduğunu gösterebilir.
stuXnet

0

Her şey başarısız olursa, terminalinize gidin ve klasörünüzden yazın:

git push origin master

Tanrıların başlangıçta olmasını istedikleri şey budur.


0

Son zamanlarda WebStorm ile bu sorunu yaşadım ( Şubat / 2018 ) ve önceki çözümlerin hiçbiri benim için işe yaramadı. Sorun giderme ve araştırma için birkaç saat geçirdikten sonra 2018 EAP sürümünü yükledim ve şimdi çalışıyor!


IntelliJ Idea> VCS / Git alt sisteminde, 181.2445 derlemesinde (veya 31 / Ocak / 2018'den sonraki herhangi bir derlemede) düzeltilen yeni bir sorun Aralık / 2017'de bildirildi .

Ayrıca bkz. Güncelleştirme ssh-key-to-use-new-passphrase


Link için teşekkürler. Diğerleri için TL; DR, benim için en önemli yorum Nate: "Benim için çalışan bir çözüm: Ayarlar> Görünüm ve Davranış> Sistem Ayarları> Şifreler ..." altında ... Kaydetme, yeniden başlattıktan sonra şifreleri unutma , Çekme işlemini yapın, sonra geri çevirin.
Matthew Weber

0

Sorun benim pc çözüldü.
ayarları -> Sürüm Kontrolü -> Git öğesini seçin ve ardından SSH yürütülebilir açılır menüsünde yerleşik seçeneği belirtin.

ve git eski sürümü 2.14.2 gibi bir şey yükleyin .
İyi çalışıyor!


0

Github veya bitbucket gibi bulut hizmetlerine bağlanmaya çalışıyorsanız Fikir proxy ayarlarını kontrol edin. Bu, yüklenecek eklentileri arayarak veya helpmenüdeki yazılım güncellemelerini kontrol ederek yapılabilir . İnternet / proxy ayarları doğru değilse, geçerli girişler ekleyin veyaauto


0

Bu, MacOS High Sierra (10.13.5) / IntelliJ IDEA 2018.4'te benim için düzeltildi (HTTPS değil SSH kullanıyorum ve yerleşik git değil, yerel git):

Dosya -> Önbellekleri Geçersiz Kıl ve Yeniden Başlat


0

Ben sadece herhangi bir boşluk olmadan doğru git SSH url olmasını sağlayarak sorunu çözdü:

git@github.com:USERNAME/REPOSITORY.git


0

Yukarıdaki tüm çözümleri denedim (VCS veri havuzunun yerel, değişen URL'si, Git'i güncelleme, IDEA'yı güncelleme, Önbellekleri geçersiz kılma), ancak hiçbir şey bana yardımcı olmadı. Sonunda benim için işe yarayan bir çözüm buldum.

ÇÖZÜM: Fikri kapattım ve dosya içeriğini şu şekilde değiştirdim ~\.IntelliJIdea20xx.x\config\options\git.xml:

<application>
  <component name="Git.Application.Settings">
    <option name="SSH_EXECUTABLE" value="IDEA_SSH" />
  </component>
</application>

Daha sonra IDEA'ya başladım, SSH GIT deposunu kontrol etmeye çalıştım ve çalışıyor ve mevcut projeler de çalışıyor. İlginç gerçek şu ki, Fikir Ayarları'nda NATIVE'a geçtiğimde havuz çalışmıyor.


0

Ben de aynı problemi yaşadım. Bitbucket kullanıyordum ve Intellij'deki depoyu çekme / güncelleme konusunda sorun yaşadım. Yerli ve geri yerleşik olarak değiştirmeyi denedim, ama işe yaramadı. Sonra ssh anahtarını bir parola ile oluşturduğumu fark ettim.

Anahtarı parola olmadan yeniden oluşturdum ve bitbucket'e ekledim. İşe yaradı !


0

NativeSeçeneği denedim ama benim için çalışmıyor, nihayet eski şekilde ssh anahtarını yenileyin ve komutta -mseçenek ekleyin ssh-keygen. Ayrıca IDEA ile çalışır build-incezası olarak seçeneğiyle.

ssh-keygen -m PEM -t rsa -b 4096 -C "email@..."

0

Uzak URL eklerken bunu buradan değiştirin

https://username@bitbucket.org/usernameowner/project-name.git

buna

https://bitbucket.org/usernameowner/project-name.git



-1

HTTPSÇalışmıyorsa, IntelliJ ayarlarında "Native" seçeneğini seçtikten sonra git deposuna olan bağlantıyı değiştirdiğinizden emin olun SSH.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.