development

"캐시의 키 저장?"

big-blog 2020. 6. 30. 08:00
반응형

"캐시의 키 저장?"


BitBucket 계정에서 Windows 10 랩톱 (GitBash 실행)으로 리포지토리를 복제하려고합니다. 연결하는 데 필요한 모든 단계를 완료했습니다 (SSH 키 설정, git@bitbucket.org의 SSH를 통해 성공적으로 확인). 그러나 리포지토리를 복제하려고 할 때마다 Bitbucket 키를 캐시 하려는지 확인한 후 프롬프트가 계속 끊어집니다.

User@Laptop MINGW64 /C/Repos
$ git clone git@bitbucket.org:mygbid/test.git
Cloning into 'test'...
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) y

파일이 복제되지 않으며 결과는 빈 저장소입니다. 이 저장소에서 git pull origin master를 시작하려고하면 키를 캐시하도록 요청 한 다음 피드백없이 중단됩니다. 테스트 SSH를 수행 할 때 키를 캐시하지 않아도 git 작업은 실패하기 전에 항상 키를 요청합니다.

오류 메시지가 없어서 실제로 무엇이 잘못되었는지 잃어 버렸습니다. 나는 아주 작은 것들을 포함하여 여러 번의 repos를 시도했지만 전혀 성공하지 못했습니다.


Windows 10에서 리포지토리를 복제 할 때도이 문제가 발생했습니다.

Putty GUI를 사용하여 문제의 서버에 SSH로 SSH를 사용하여 문제를 해결 한 다음 (예 : bitbucket.org) 서버 키를 캐시에 저장할 것인지 묻는 메시지가 표시되면 '예'를 클릭했습니다. clone 명령을 다시 실행하면 나를 위해 일했습니다!


  1. 퍼티 열기
  2. 호스트 이름을 입력하십시오 (예 bitbucket.org:).
  3. 열기를 클릭하십시오
  4. 팝업에서 예를 클릭하여 호스트 키를 캐시하십시오.
  5. 퍼티 닫기

powershell에서이를 수행하려면 powershell 창을 열고 다음을 붙여 넣으십시오.

echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh git@github.com
echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh git@gist.github.com
echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh git@bitbucket.org

또는 PuTTY 독립형 버전 :

echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh git@github.com
echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh git@gist.github.com
echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh git@bitbucket.org

또한 퍼티 는 레지스트리 키 아래에 알려진 호스트를 저장합니다 .

HKEY_CURRENT_USER\SoftWare\SimonTatham\PuTTY\SshHostKeys

위의 바로 가기를 .reg파일에 넣고 실행할 수 있습니다.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys]
"rsa2@22:github.com"="0x23,0xab603b8511a67679bdb540db3bd2034b004ae936d06be3d760f08fcbaadb4eb4edc3b3c791c70aae9a74c95869e4774421c2abea92e554305f38b5fd414b3208e574c337e320936518462c7652c98b31e16e7da6523bd200742a6444d83fcd5e1732d03673c7b7811555487b55f0c4494f3829ece60f94255a95cb9af537d7fc8c7fe49ef318474ef2920992052265b0a06ea66d4a167fd9f3a48a1a4a307ec1eaaa5149a969a6ac5d56a5ef627e517d81fb644f5b745c4f478ecd082a9492f744aad326f76c8c4dc9100bc6ab79461d2657cb6f06dec92e6b64a6562ff0e32084ea06ce0ea9d35a583bfb00bad38c9d19703c549892e5aa78dc95e250514069"
"rsa2@22:gist.github.com"="0x23,0xab603b8511a67679bdb540db3bd2034b004ae936d06be3d760f08fcbaadb4eb4edc3b3c791c70aae9a74c95869e4774421c2abea92e554305f38b5fd414b3208e574c337e320936518462c7652c98b31e16e7da6523bd200742a6444d83fcd5e1732d03673c7b7811555487b55f0c4494f3829ece60f94255a95cb9af537d7fc8c7fe49ef318474ef2920992052265b0a06ea66d4a167fd9f3a48a1a4a307ec1eaaa5149a969a6ac5d56a5ef627e517d81fb644f5b745c4f478ecd082a9492f744aad326f76c8c4dc9100bc6ab79461d2657cb6f06dec92e6b64a6562ff0e32084ea06ce0ea9d35a583bfb00bad38c9d19703c549892e5aa78dc95e250514069"
"rsa2@22:bitbucket.org"="0x23,0xb9b88df3578371a7eb80c78bcda14fb30da436f11ca932a5fd5a8b6adfcc681df7a59cb4cb7ac966d9eac11daa38ebdbc0a6582a210ed4ee95a8d101c4abc925e942ab47535d64f9a5b3b68035c2ea1e900d709a1e8ea938718f532f9805a190446b92bac3040126225ae9d8374bc2008f106979d631734c7453f78c70091f4783b288869cb3c1941a784cd9baad823be27333833dc1f488a45b85952be75cf0a64965662302e3915378dcd5cfcd3ec903d804a29dff2fdf19df5deba4534b09e4dea6e44f152e339b3c43be98ddadfc56533192e216a3d673f00b4aa9cc9e7870acd8b6adb7e0feb77f2292fc2dede94819def3eb1e785541a06ab31ccf725f"

putty-hosts.reg 요점


pant 명령을 직접 실행 plink.exe -agent -v git@github.com한 후 plink 명령을 직접 실행하여 plink를 직접 실행하여 작동하도록했습니다 .이 git이 멈추지 않고 작동합니다.


이 문제를 해결하기 위해 -batch옵션 과 함께 plink를 사용하도록 GitBash를 구성했습니다 . 이 옵션은 모든 프롬프트를 비활성화합니다. plink는 중단되지 않고 종료되며 캐시에 키 지문을 추가하지 않습니다.

-batchGitBash가 실행하는 plink 명령 파라미터 를 추가하려면 git config 옵션을 설정할 수 있습니다 :

git config --global core.sshCommand "plink -batch"

또는 GIT_SSH_COMMAND환경 변수를 설정 하십시오.

알 수없는 호스트에서 저장소를 복제 할 때의 결과는 다음과 유사합니다.

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
Connection abandoned.
fatal: Could not read from remote repository.

이 메시지 후에 다음 명령으로 캐시 할 키를 추가 할 수 있습니다.

echo y | plink git@bitbucket.org

REMARK: Please check if plink is in your PATH. Alternatively use UNIX-like path in the GitBash config option, e.g.:

/c/Program\ Files/PuTTY/plink.exe -batch

Even after performing the workaround mentioned in other answers, you may encounter an error like:

FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)

To solve both problems at once, change git bash to use SSH instead of PuTTY by adding the following to your ~/.profile file (C:\Users\<Username>\.profile). If you don't already have this file, then create a new file with this line.

GIT_SSH="/usr/bin/ssh.exe"

Then open a new git bash window and try your git clone or git pull again.

Note that this may require you to create an SSH key if you don't already have one. To do this, follow the instructions on the Bitbucket site.

See this SO question for related info.


In your git bash shell, check for existence of GIT_SSH:
echo $GIT<tab><tab>
If it exists and is set to putty, execute:
unset GIT_SSH
You'll probably want to put this into one of the git bash startup scripts.
This is NOT a universal solution. It worked in our particular case.


It sounds a bit silly, but after trying all of the above, I decided to reinstall Git Bash with default options and it worked.

참고URL : https://stackoverflow.com/questions/33240137/git-clone-pull-continually-freezing-at-store-key-in-cache

반응형