IntelliJ IDEA가있는 git : 원격 저장소에서 읽을 수 없습니다


260

몇 주 이후로, 나는 원격 저장소에서 또는 원격 저장소로 끌어 당길 수 없습니다. IntelliJ IDEA 14로 업그레이드 할 때 발생한다고 생각했지만 IDEA 13.1.5에서도 문제를 재현 할 수 있습니다.

툴팁에 "치명 실패 실패 : 원격 저장소에서 읽을 수 없습니다."

버전 관리 탭의 예외는

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에 따르면,에 문제가있는 것 같습니다 .IntelliJ가 다시 삽입하기를 바라 KnownHosts면서 git 서버를에서 삭제 ~/.ssh/known_hosts했습니다. 그러나 UI를 통해 업데이트 할 때 여전히 문제가 발생하며 작성된 새 항목이 없습니다 known_hosts. 파일의 일부 캐싱에 대해 생각하면서 IntelliJ를 다시 시작하지 못했습니다.

git fetch터미널에서 다른 것을 수행 할 때 서버를 영구적으로 추가할지 묻는 메시지가 나타납니다. 그 후 known_hosts다시 작성 되었지만 IntelliJ는 여전히 프로젝트를 업데이트 할 수 없습니다.

온라인에서이 동작에 대해 아무것도 찾지 못했기 때문에 새로운 IntelliJ 버전의 알려진 버그가 아닌 것 같습니다. 그럼에도 불구하고 14.0.2로 업데이트되었지만 문제가 여전히 존재합니다.

IntelliJ는 내장 SSH 실행 파일을 사용하도록 구성되어 있습니다.

아무도 여기서 문제가 될 수있는 단서가 있습니까?


git 저장소에 SSH 키를 수동으로 추가 했습니까?
aurelius

@aurelius 예, GitLab을 사용하고 있으며 내 프로필에 게시했습니다.
stuXnet

IntelliJ는 공개 / 개인 키 쌍에 만족하지 않습니다. 어떻게 생성 했습니까?
yole

@yole 나도 처음으로 생각했기 때문에 puttygen와를 모두 시도 Git GUI했습니다. 내 키 페어에 관한 것입니까? code.google.com/p/connectbot/source/browse/src/com/trilead/ssh2/…와
stuXnet

downvote에 대해 확실하지 않음-known_hosts에 해시 / 해시되지 않은 항목에 문제가있는 것 같습니다. 나는 그것에 대해 조금 더 파고 질문에 대답 할 것입니다.
stuXnet

답변:


721

Settings --> Version Control --> GitSSH 실행 파일 드롭 다운에서 Native

버전 관리 : Git : SSH 실행 파일 : 현재 프로젝트

그래도 문제가 해결되지 않으면 기본 sshgit클라이언트 버전이 충분히 최신 인지 확인하십시오 .


5
SSH 구현을 변경할 수 있다는 것을 알고 있습니다. 내장 실행 파일을 사용하고 있다고 명시 적으로 썼습니다 (내가 작성하지 않은 것 : native는 Windows에서 작동하지 않습니다).하지만 게시하지 않습니다. 내장 실행 파일의 문제가 무엇인지 내 질문.
stuXnet

22
나를 도울 수 없다
hellboy

8
@Jimbo 그냥 내 가정이지만, 이것이 내가 이해하는 방법입니다. 내장은 저장소에서 다른 "사용자"를 사용합니다. 이전에는 "사용자"가 파일과 변경 사항을 푸시 할 수있었습니다. 해당 "사용자"는 업데이트에서 재설정되었으며 더 이상 사용할 수 없습니다. Native는 컴퓨터에 로그인 한 계정을 사용합니다.
AlexG

10
이상한. 나는 2 년 이상 일한 후에 3 대의 컴퓨터가 모두 나에게 이것을 시작했습니다. 이것은 그것을 고쳤다. WTF
Nicholas DiPiazza

11
@NicholasDiPiazza 이것은 암호화 표준 github.com/blog/2507-weak-cryptographic-standards-removed를 제거하는 Github과 관련이 있습니다. "내장"라이브러리 (예 : TeamCity)를 사용하는 다른 소프트웨어도이 변경의 영향을받습니다. 네이티브 git 클라이언트는 아마도 최신 상태 일 것이므로이 단계에서 수정합니다.
philsch

68

환경 설정> 버전 제어> 힘내로 이동하십시오. SSH 실행 파일이 "기본"으로 설정되어 있는지 확인하십시오. (이미 설정되어 있으면 "내장"으로 전환 한 다음 다시 "기본"으로 전환하십시오.)

그래도 문제가 해결되지 않으면 GitHub 클라이언트 (무료 데스크톱 앱)와 같은 Git 클라이언트를 다운로드하고 앱을 통해 프로젝트를 동기화 해보십시오. 그런 다음 IntelliJ로 돌아가 작동하는지 확인하십시오.


1
Android Studio에서도 잘 작동합니다. 이 문제는 @Farbod jan에게 감사합니다!
Javad Sadeqzadeh

1
토글 링 SSH executable이 나를 위해 일했습니다. 나는 또한 이미 있었다 Native.
nic

1
기본 제공으로 돌아가는 것을 고려하는 모든 사람 : 먼저 기본 SSH를 업데이트하십시오. 기본 실행 파일은 OS 전체에서 사용되며 IDE 내부와 외부에서 일관되게 작동합니다.
milosmns

52

Could not read from remote repository최근에 작업 할 때 오류 가 발생 하기 시작했습니다.저장소. 내 사양 :

  • IntelliJ IDEA 2017.3.4 (Ultimate Edition)
  • 설정-> 버전 제어-> 힘내-> SSH 실행 파일-> 내장
  • 페도라 리눅스

여기에 이미지 설명을 입력하십시오

물론 이러한 문제는 IDE에서 푸시 / 풀 / 가져 오기 등을 시도 할 때만 발생했습니다. 명령 줄에서 동일한 명령을 실행하는 것이 매력처럼 작동했습니다.

나를 위해 일한 솔루션

Built-InSSH 실행 파일 에서로 전환하고 싶지 않았습니다 Native. 주로 기본 SSH 클라이언트가 원격 저장소와 동기화하려고 할 때마다 비밀번호를 묻기 때문입니다.

SSH 원격 URL에서 HTTPS URL로 전환 하여이 문제를 해결했습니다. 이 GitHub 도움말 페이지에 따르면 SSH URL 대신 HTTPS URL을 사용하는 것이 좋습니다 .

원격 URL을에서 (으) SSH로 변경HTTPS

IntelliJ IDEA에서 VCS-> Git-> Remotes ... 로 이동하여 "origin"이 포함 된 행을 선택하고 편집 버튼을 클릭하십시오. GitHub에서 리포지토리를 호스팅하는 경우 다음 위치에서 SSH URL을 바꾸십시오.

git@github.com:USERNAME/REPOSITORY.git

에:

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

GitHub 리포지토리 홈페이지에서 HTTPS URL을 가져올 수도 있습니다. "복제 또는 다운로드"버튼을 클릭하고 "HTTPS 사용"링크를 클릭하여 리포지토리의 HTTPS URL을 표시하십시오.

여기에 이미지 설명을 입력하십시오

업데이트 2018-03-13

JetBrains의는 GitHub의에 SSH 액세스를위한 수정을 포함하게 IntelliJ IDEA 2017년 3월 5일을 발표 - https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5-fix-for-ssh-access -to-github /


2
이것은 MacBook Pro, PHPStorm 2017.3.4)에서 나를 위해 일한 솔루션입니다 (필요한 빌드 날짜 1/31 전에 2018 년 1 월 30 일).
에드워드 버나드

1
이 솔루션은 일반적으로 많은 사용자가 SSH 키를 사용하여 원격을 정의하려고 시도하지만 오류가 발생합니다. 대부분의 경우 SSH에서 HTTPS로 전환하는 것이 해결책입니다.
Kourosh

1
https를 기반으로 한 링크를 사용하여 PhpStorme 버전 2018.1.5에서 내 문제를 해결합니다.
dmitri

1
이 솔루션은 Intellij IDEA MacBook Pro에서 저에게 효과적이었습니다.
shaojun lyu

1
또한 URL을 https 링크로 변경하기 위해 GitLab과 함께 작동합니다.
Master James

23

IntelliJ의 내장 SSH 클라이언트는 해시하는known_hosts 것처럼 보이지만 일반 텍스트로 호스트 이름을 가지고 있습니다.

파일을 삭제하고 IntelliJ가 내 (해시 된) GitLab 서버 만 있고 다른 아무것도없는 새 파일을 만들도록했을 때 작동했습니다.

해시되지 않은 항목을 IntelliJ의 해시 항목과 함께 유지하십시오. 따라서 해시 호스트를 사용 하도록 다른 SSH 클라이언트 구성해야 합니다 .


14
  1. 설정-> Git-> SSH 실행 파일 드롭 다운에서 네이티브 선택으로 이동합니다. (선택하지 않은 경우)
  2. Github 저장소에서 HTTPS 링크를 복사하십시오.
  3. VCS-> Git-> Remotes로 이동하십시오.
  4. URL 필드에서 오리진 및 붙여 넣기 HTTPS 링크를 편집하십시오.
  5. Ctrl+Shift+k프로젝트를 누르고 저장소로 밉니다. 효과가있다.

1
SSH와 URL을 HTTPS 프로토콜로 대체하는 연결은 어디에 있습니까?
sweisgerber.dev

나는 지구상의 어디에서 github을 언급했는지 알고 싶습니까?
Emad Ha

이것은 나를 위해 일했습니다. 비트 버킷 자격 증명을 요청한 다음 잘 진행했습니다.
Marlon

13

pyCharm에서

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

여기 SSH executable에서 Built-in로 변경Native

다음을 누릅니다 applyclose


11

VCS-> Git-> Remotes 원격 저장소를 다시 추가 하여이 문제를 해결했습니다.


4
내 경우에 좋은 옵션이 아닙니다 ... 이제 다시 잘못 추가 할 수 없습니다. " 잘못된 원격 [...] 원격 URL 테스트 실패 : 원격 저장소에서 읽을 수 없습니다. "Obs : 연결할 수 있습니다. git cli를 통해 github에.
Ricardo

1
@Ricardo
Uri Goren

@uri 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 2017 년 12 월에보고 된 문제를 해결 한 2018 EAP를 설치 했습니다. Post -ssh-key-to-use-new-passphrase
Ricardo

질문에 의견을 추가했지만 숨겨졌습니다. 그래서 답변 도 추가했습니다 .
Ricardo

알려지지 않은 이유로 PHPStorm 2017.4에서 작동합니다. 감사!
Maksim B.

5

@ yabin ya가 말한 것은 멋진 솔루션입니다. 유지하십시오 .u가 여전히 같은 문제가 발생하면 Settings-Version Control-GitHub로 이동하여를 선택 해제하십시오 Clone git repositories using ssh.


5

새 SSH 키를 생성하여 ssh-agent에 추가해야합니다. 이를 위해서는이 링크를 따라 가야합니다 .

공개 키를 만들어 github 계정에 추가 한 후에는 Intellij Idea의 설정-> 버전 제어-> Git-> SSH 실행 파일에서 기본 제공 (기본이 아님) 옵션을 사용해야합니다.


1
나에게로 전환하는 NativeMac에서 해결할 문제
제론 베르 메울 렌 - MageHost

나는이 문제로 약 일주일 정도 어려움을 겪었습니다 (행운스럽게도 그 동안 git 명령 줄을 사용할 수있었습니다). 마지막으로 SSH 키를 다시 생성하는 문제를 해결했지만 컴퓨터를 다시 시작하고 명령 줄을 사용해야했습니다. ssh-add.
Crenguta S

3

최근 IntelliJ 12에서 IntelliJ 14 Ultimate로 업데이트되었으며이 문제도 발생했습니다. 우리의 해결책은 설정에서 프록시를 비활성화하는 것이 었습니다. 우리는 또한 암호 기억을 한 번 멈췄지만 이것이 도움이 될지 확실하지 않을 수 있습니다. 프록시 설정은 File-Settings-Apearance & Behavior-System settings-HTTP Proxy에 있습니다.


그 흥미 롭군요! 그래서 당신은 같은 스택 트레이스를 가지고 있습니까?
stuXnet

우리는 같은 스택 트레이스를했다 (내가 대답 좀 BTW 변경 한)
코엔 드 루

3

이것은 현재 문제를 해결하는 데 도움이되었습니다.

macOS Sierra 10.12.2 이상을 사용하는 경우 ~ / .ssh / config 파일을 수정하여 ssh-agent에 키를 자동으로로드하고 키 체인에 암호를 저장해야합니다.

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

출처



2

명령에서 SSH 개인 키를 ssh-agent에 추가하여이 문제를 해결했습니다.

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

을 설정 Settings --> Version Control --> Git한 다음 SSH 실행 파일 드롭 다운에서Native


1

해결책 / 해결 방법이 아니라 '문제가 될 수있는 문제'에 대한 대답입니다.

Gitlab과 'ssh 라이브러리에 내장 된 jetbrains'는 함께 작동하지 않습니다. 라이브러리는 gitlab (기본값)이 SHA2 기반 키 교환 알고리즘 만 허용하는 SHA1 기반 키 교환 알고리즘을 사용하려고합니다.

이것은 적어도 TeamCity ( https://youtrack.jetbrains.com/issue/TW-47704 )에 대해보고되었습니다 .

IntelliJ에서 풀 / 푸시 문제의 원인이 될 수도 있으며 PhpStorm의 푸시 문제는 ASSUMPTION jetbrains가 모든 소프트웨어에 대해 동일한 '내장 라이브러리'를 사용한다는 사실을 기반으로합니다.


0

온라인 코스의 포크 로이 문제가 발생했습니다. 포크를 복제하고 권한 오류가 발생했습니다. 다른 회사의 사용자라고 주장하는 이유를 이해할 수 없었습니다. 그러나 이전 주석가가 언급했듯이Clone git repositories using ssh 설정을 확인하고 새 계정에 ssh 키를 추가하는 것을 잊었습니다. 따라서이 오류가 발생하여 여전히 푸시 할 수 없었습니다. 내가 해결 한 방법은 Github Desktop 클라이언트를 사용하는 것입니다.

테이크 아웃 :

  1. 새 GitHub 계정을 열 때 ssh 키를 추가하십시오
  2. 계정마다 다른 ssh 키 사용
  3. 일반적으로 IntelliJ의 모든 GitHub 문제는 모든 프로젝트에 대해 적어도 한두 번 이상 발생합니다. GitHub 데스크탑 사본이 있는지 확인하고 프로젝트를로드하십시오. Intellij와 관련하여 발생할 수있는 많은 문제를 해결할 수 있습니다. 실제로 정말 멋진 GUI 클라이언트이며 무료입니다!
  4. @yabin이 제안하고 Mac에서 기본 클라이언트를 사용하는 것이 합리적입니다.

0

내 경우에 도움이 된 유일한 것은 (SSH-executabe 스위치가 작동하지 않음) git 및 git-flow 플러그인을 비활성화하고 intellij를 다시 시작한 다음 해당 플러그인을 다시 활성화하는 것입니다 ...


0

시스템 관리자에게 문의하십시오.

내 경우에는 모든 것이 올바르게 구성되었으므로 (SSH도 추가됨) 동일한 오류가 발생합니다.

저장소 액세스가 거부되었습니다. 치명적 : 원격 저장소에서 읽을 수 없습니다.

그 이유는 해당 저장소에 대한 읽기 권한 만 있었기 때문입니다. 그러므로 귀중한 시간을 낭비하지 않고 그것을 먼저 확인하십시오. 감사합니다.


당신은 가지고 java.io.IOException: Padding in RSA public key!충분한 권한이없는 경우 로그에? 흥미롭고 IntelliJ의 SSH 처리에 버그가 있음을 나타낼 수 있습니다.
stuXnet

0

다른 모든 방법이 실패하면 터미널로 이동하여 폴더에서 입력하십시오.

git push origin master

그것이 신들이 원래 원했던 방식입니다.


0

최근 WebStorm ( 2018 년 2 월) 에이 문제가 있었고 이전 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 문제 해결 및 연구에 몇 시간을 보낸 후 2018 EAP 버전을 설치했는데 이제 작동합니다!


빌드 181.2445 (또는 2018 년 1 월 31 일 이후의 모든 최신 빌드)에서 수정 된 IntelliJ Idea> VCS / Git 하위 시스템에 대해 2017 년 12 월 에 새로운 문제 가보고되었습니다 .

post -ssh-key-to-use-new-passphrase 참조


링크 주셔서 감사합니다. 다른 TL; DR의 경우, 나를 위해 핵심 의견은 Nate입니다. "설정> 모양 및 동작> 시스템 설정> 암호 ...에서 나를 위해 일한 솔루션 : ... 저장하지 않고 다시 시작한 후 암호를 잊어 버리십시오 , 당기기 후 다시 전환하십시오.
Matthew Weber

0

내 PC에서 문제가 해결되었습니다.
settings-> Version Control-> Git 을 클릭 한 다음 SSH executable 드롭 다운에서 내장 옵션을 선택합니다.

2.14.2 와 같은 git 이전 버전을 설치하십시오 .
잘 작동합니다!


0

github 또는 bitbucket과 같은 클라우드 서비스에 연결하려는 경우 Idea 프록시 설정을 확인하십시오. 설치할 플러그인을 찾거나 help메뉴 에서 소프트웨어 업데이트를 확인하면 됩니다. 인터넷 / 프록시 설정이 올바르지 않은 경우 유효한 항목을 추가하거나 다음으로 설정하십시오.auto


0

MacOS High Sierra (10.13.5) / IntelliJ IDEA 2018.4에서 (HTTPS가 아닌 SSH를 사용하고 기본 제공되는 내장 git을 사용하지 않음) 수정했습니다.

파일-> 캐시 무효화 및 재시작


0

후행 공백없이 올바른 git SSH URL이 있는지 확인하여 문제를 간단히 해결했습니다.

git@github.com:USERNAME/REPOSITORY.git


0

위의 모든 솔루션 (기본, VCS 저장소의 URL 변경, 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 저장소를 체크 아웃하려고 시도하면 작동하며 기존 프로젝트도 작동합니다. 흥미로운 사실은 Idea Settings에서 NATIVE로 전환하면 저장소가 작동하지 않는다는 것입니다.


0

나는 같은 문제가 있었다. 비트 버킷을 사용 중이며 Intellij에서 저장소를 가져 오거나 업데이트하는 데 문제가있었습니다. 기본으로 바꾸고 다시 내장하려고 시도했지만 작동하지 않았습니다. 그런 다음 암호로 ssh 키를 생성했음을 깨달았습니다.

암호없이 키를 다시 생성 한 다음 비트 버킷에 추가했습니다. 그것은 효과가 있었다!


0

Native옵션을 시도 했지만 작동하지 않습니다. 마침내 ssh 키를 오래된 방식으로 재생성 -m하고 ssh-keygen명령 에 옵션을 추가하십시오 . 또한 IDEAbuild-in옵션과 함께 잘 작동 합니다.

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

0

원격 URL을 추가 할 때이 URL을 변경하십시오

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

이에

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



-1

작동하지 않는 HTTPS경우 IntelliJ 설정에서 "기본"을 선택한 후 git 저장소에 대한 링크를 옵션으로 변경했는지 확인하십시오 SSH.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.