it-swarm-korea.com

개인 RSA 키를 찾을 수있는 곳을 Git for Windows에 알리려면 어떻게해야합니까?

내 Git 설정은 Linux에서 정상적으로 실행되지만 Windows에서 Git을 설정하려고 할 때 (Windows 용 Git 및 TortoiseGit ) 사용하면 개인 SSH 키를 어디에 둘 것인지 모릅니다. 그래도 ssh의 위치를 ​​알려주는 방법). Windows 용 Git을 설치하는 동안 표준 ssh.exe 옵션을 사용하고 있습니다. 서버에서 암호 인증 (RSA 대신)을 허용하면 설치 프로그램이 제대로 실행됩니다.

503
binaryorganic

힘내 배쉬

Msysgit을 실행 중이고 Git Bash를 실행하려는 경우 (TortoiseGit보다 권장하지만 GUI보다 CLI에 더 의존합니다) Git의 홈 디렉토리가 무엇인지 파악해야합니다 Bash를 시작한 다음 pwd를 입력하십시오 (Windows 7에서는 C:\Users\phsr와 같습니다). Git Bash에있는 동안 mkdir .ssh가되어야합니다.

홈 디렉토리와 그 아래에 .ssh 폴더가 있으면 PuTTYgen을 열고 이전에 작성한 키 (.ppk 파일)를 열어야합니다. 키가 열리면 Conversions -> Export OpenSSH key를 선택하고 HOME\.ssh\id_rsa에 저장하려고합니다. 해당 위치에 키가 있으면 Git Bash가 키를 인식하여 사용합니다.

참고 : 의견에 따르면 모든 경우에 해당되는 것은 아닙니다. OpenSSH 키를 Program Files\Git\.ssh\id_rsa (또는 Program Files (x86)\Git\.ssh\id_rsa)에 복사해야 할 수도 있습니다.

TortoiseGit

TortoiseGit을 사용하는 경우 pacey 's direction 을 통해 SSH 키를 설정해야합니다. TortoiseGit을 사용하는 모든 저장소에 대해이를 수행해야합니다.

493
Dan McClain

Windows 용 Git과 함께 제공되는 내장 SSH 클라이언트를 사용하여 Git SSH 클라이언트가 키를 찾을 수 있도록 HOME 환경 변수를 설정해야합니다.

예를 들어 Windows Vista 설치의 경우 명령 줄에서 setx HOME c:\Users\admin\를 실행하면됩니다.

개인 키가 암호로 보호되어 있지 않으면 하루를 보내고 Git 문제를 해결했습니다. ssh-agent를 사용하려면 평소와 같이 ssh-agent cmd.exe를 실행하고 ssh-add를 실행할 수 있습니다.

모든 Git/SSH 도구는 blink 창이 아닌 cmd.exe에서 실행되어야합니다.

이것이 제대로 작동하지 않으면 GIT_SSH를 조정하여 plink를 사용할 수 있습니다. 모든 SVN + ssh 튜토리얼을 참조하십시오. 이것은 기본적으로 설정에 필요한 배관과 동일합니다.

108
Oct

TortoiseGit의 키 위치는 다음과 같은 방법으로 지정할 수 있습니다.

  • 탐색기 창을 엽니 다.
  • 상황에 맞는 메뉴를 열고 TortoiseGitSettings로 이동합니다
  • 이제 열린 창에서 GitRemote로 이동하십시오.
  • 해당 입력 상자에서 PuTTY 키의 경로를 설정하십시오.

스크린 샷은 다음과 같습니다.

Enter image description here

57
pacey

이전 답변 중 어느 것도 나를 위해 일하지 않았습니다. 결국 나를 위해 일한 것이 여기 있습니다. 입력해야 할 내용을 알고 있다면 실제로는 매우 간단합니다. PuTTY가 필요하지 않습니다.

  • 힘내 배쉬 프롬프트 열기
  • 'ssh-keygen'을 입력하십시오.
    • 기본 위치를 수락하십시오
    • 빈 비밀번호 문구를 선택하십시오 (따라서 '모든 질문에'입력 '을 누르십시오).
  • 이제 공개 키를 서버에 복사하십시오 (예 : scp ~/.ssh/id_rsa.pub [email protected] : ~).

그것은 당신의 컴퓨터에서 이루어졌습니다. 이제 ssh를 대상 서버에 넣은 다음

mkdir -p ~/.ssh
cd ~/.ssh
cat ../id_rsa.pub >> authorized_keys
rm ../id_rsa.pub

그게 다야! 끝났습니다! Git Bash에서 다음을 수행하여 테스트하십시오.

ssh [email protected] ls

Git 서버의 홈 디렉토리에 파일이 나열되면 완료된 것입니다!

GitHub의 경우 서버에 쉘 액세스 권한이 없지만 웹 사이트를 사용하여 키를 업로드 할 수 있으므로 '지금 서버에 복사'비트의 경우 다음을 수행하십시오.

  • Git Bash에서 'cat ~/.ssh/id_rsa.pub'을 입력하고 결과를 선택한 다음 클립 보드에 복사하십시오.
  • GitHub 웹 사이트에서 '계정 설정', 'SSH 및 GPG 키'로 이동하여 '새 SSH 키'를 클릭 한 후 키를 붙여 넣으십시오.
51
Hugh Perkins

OpenSSH 도구와 함께 msysgit을 사용하는 경우 ~/.ssh/id_rsa를 작성하거나 ~/.ssh/config에서 키를 가리키는 Git 구성을 작성해야합니다.

다음은 올바른 사용자 이름과 기본 키 이외의 키를 사용하는 Bitbucket의 Git 구성 예입니다 (SSH 연결 용 하나의 키와 Git 계정 용 하나의 키를 유지하는 경우).

~/.ssh/config :

Host bitbucket.org
    Hostname bitbucket.org
    User git
    IdentityFile /C/keys/yourkey.key

Git Bash에 들어가면 두 개의 명령을 실행하여 키를 현재 세션의 ssh-agent에 추가하여 키의 암호를 반복해서 입력하지 않아도됩니다.

eval `ssh-agent`
ssh-add /C/keys/yourkey.key
42
GregB

방금 % HOME % = % HOMEPATH %를 설정했습니다.

이는 시스템에 로그인 한 모든 사용자가 작업 할 수있는 이점이 있습니다 (각각 별도의 .ssh 폴더를 갖습니다).

Vista에서 :

  1. 컴퓨터를 마우스 오른쪽 버튼으로 클릭
  2. 속성을 선택하십시오
  3. 고급 시스템 설정을 클릭하십시오
  4. 환경 변수를 클릭하십시오
  5. 하단 섹션 (시스템 변수)에서 새로 만들기를 클릭하십시오.
  6. 변수 이름 유형의 경우 : HOME
  7. 변수 경로 유형의 경우 : % HOMEPATH %
  8. 확인을 클릭하십시오
16
Jono

필자의 경우 Docker 컨테이너 windowsservercore에서 Windows 용 Git을 사용하고있었습니다.

내 Git은 Chocolatey 에서 C:\Program Files\Git로 설치되었습니다.

C:\Program Files\Git\etc\ssh\ssh_config 파일을 다음과 같이 업데이트해야했습니다.

Host example.com
   Identityfile ~/.ssh/id_rsa

그런 다음 C:\Users\<user>\.ssh\id_rsa의 키를 사용할 수있었습니다.

Windows 용 OpenSSH와 함께 창에 Git을 사용하는 경우. Git은 여전히 ​​ssh를 사용하고 있습니다.

또한 OpenSSH에서 ssh-keyscan Host.com > known_hosts를 사용하려는 경우 stdoutkeyscan (Windows에서)의 파이프 출력이 인코딩을 UCS-2로 변경하기 때문에주의해야하지만 OpenSSH는 UTF 만 읽을 수 있습니다 -8! 따라서 known_hosts 파일 인코딩을 변경하십시오.

9
oglop

개인 키는 워크 스테이션의 SSH 에이전트에 추가해야합니다. 이를 달성하는 방법은 사용중인 git 클라이언트에 따라 다르지만 PuTTY 및 관련 에이전트 (대회)가 당신을 위해 트릭을 할 수 있습니다. 공식 바이너리 및 소스에 대한 링크는 다음과 같습니다.

http://www.chiark.greenend.org.uk/~sgtatham/PuTTY/download.html

7
Declan Shanaghy

파일의 표준 위치는 %USERPROFILE%\.ssh.

%USERPROFILE%는 Unix에서 $ HOME과 같습니다 (보통 c:\users\youruserid).

표준 명령 줄 Unix 스타일 도구 인 Git과 함께 제공된 SSH 도구를 사용하는 경우 my script here 와 같은 것을 사용하여 모든 셸에서 ssh-agent로 작업 할 수 있습니다.

4
Eric Blade

가장 효율적인 방법은 Pageant를 사용하는 것입니다. 모든 푸시 대신 세션 시작시 암호 구문을 한 번만 쓸 수 있기 때문입니다. 여기에있는 모든 답변이 너무 짧았으므로 여기에 자세한 안내서를 게시 할 것입니다.

  1. PuTTY 웹 사이트에서 pageant.exe, puttygen.exe, PuTTY.exeplink.exe를 다운로드하십시오. C:\puttyTools 디렉토리에 두십시오.
  2. puttygen.exe를 실행하십시오.
  3. 클릭 버튼 Generate.
  4. 프로그램에서 요청한대로 진행률 표시 줄이 가득 찰 때까지 창 상단에서 마우스를 움직입니다.
  5. 암호를 입력하고 다음 텍스트 상자에서 반복하십시오.
  6. "개인 키 저장"을 클릭하십시오. 이것을 저장하는 일반적인 디렉토리는 %USERPROFILE%\_ssh입니다 (내 컴퓨터에서는 C:\Users\andres\.ssh\에 매핑됩니다). 당신이 키를 부르는 것은 중요하지 않지만 시연을 위해 github.ppk라고 부를 것입니다. 이 파일의 확장자는 .ppk 여야합니다.
  7. PuTTYgen의 상단 텍스트 상자에 Public key for pasting into OpenSSH authorized_keys file로 표시된 텍스트를 복사하여 GitHub 설정의 새 SSH 키에 붙여 넣습니다. 키가있는 컴퓨터를 설명하는 제목을 지정하십시오 (예 : "Work laptop").
  8. pageant.exe를 실행하면 새로운 시스템 트레이 아이콘이 나타납니다.
  9. 아이콘-> 키 추가를 마우스 오른쪽 단추로 클릭하십시오.
  10. Ppk 파일을 찾고 암호를 입력하십시오.
  11. 이 새로운 사용자 환경 변수를 작성하십시오 (Edit environment variables for your account가있는 WindowsMenu를 통해 Environ 응용 프로그램을 찾아서) : GIT_SSH = "C:\puttyTools\plink.exe"SVN_SSH = "C:\puttyTools\PuTTY\plink.exe"
  12. PuTTY.exe를 열고 Git 리포지토리를 호스팅하는 호스트에 연결하십시오. 예를 들어 SSH를 통해 github.com에 연결하려고하면 서버의 지문을 승인 할 것인지 묻는 대화 상자가 나타납니다. 예를 클릭하십시오.
  13. MINGW64 Git 콘솔의 새 인스턴스를 실행하고 env | grep -i ssh 명령을 작성하여 환경 변수가 있는지 확인하십시오.
  14. 모든 준비가되어 있어야합니다. 호스트에서 Git + SSH 프로토콜로 복제하십시오.

(이 두 가이드에서 원래 추출한 것은 Windows 용 Git 설정 방법Putty Plink/Pageant를 사용하도록 MinGW-W64 + MSYS 구성.

4
knocte

좋아, 나는 .의 제안을 보았다.

그러나 내 개인 SSH 키를 공용 폴더에 배치하는 것은 좋은 생각이 아니기 때문에 알려진 호스트가 어디에 있는지 찾기 시작했습니다.

따라서 SSH 키를 올바르게 보호하려면 다음 디렉토리에 키를 넣어야합니다.

Windows 7, 8 및 8.1 32 비트의 경우 :

C :\Users \\ AppData\Local\VirtualStore\Program Files\Git \

Windows 7, 8 및 8.1 64 비트 :

C :\Users \\ AppData\Local\VirtualStore\Program Files (x86)\Git \

Windows 용 GitHub와 Windows 용 Git GUI를 혼합 할 때 Git GUI에서 사용자 이름과 비밀번호를 묻는 메시지가 계속 표시되는 문제가 발생할 수 있습니다. 이에 대한 해결책은 원격 URL을 https: (Windows 용 GitHub가 만드는 것)에서 Git 프로토콜로 변경하는 것입니다. 구성 파일의 .git 디렉토리에서 다음을 찾으십시오.

[remote "Origin"]
   url = https://github.com/**username**/**reponame**.git
   fetch = +refs/heads/*:refs/remotes/Origin/*

다음으로 변경하십시오.

[remote "Origin"]
    url = [email protected]:**username**/**reponame**.git
    fetch = +refs/heads/*:refs/remotes/Origin/*
3
IDisposable

나는 비슷한 문제가 있었고 여기에 대한 답변 중 어느 것도 문제를 해결하지 못했습니다. 내 키 페어는 원래 빈 암호로 생성되었습니다. (나도 알아, 바보)

새 키 페어를 만들고 공개 키를 GitHub에 업로드하면 작업이 다시 시작되었습니다.

2
Eric Cloninger

위의 문제를 해결하여 수정했습니다.

~/.ssh/config

파일을 넣어 :

IdentityFile C:\Users\adria\.ssh\mysshkey
2
Adrian Onu

Pageant ( PuTTY 번들 와 함께 제공되는 SSH 에이전트)가 문제를 해결합니다.

시작 메뉴의 시작 폴더 (C:\Users\owen.blacker\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)에 "C:\Program Files (x86)\PuTTY\pageant.exe" "C:\Users\owen.blacker\Documents\SSH\OwenBlackerPersonal.ppk" "C:\Users\owen.blacker\Documents\SSH\OwenBlackerWork.ppk"을 가리키는 바로 가기가 있으므로 시작시 SSH 키가로드되고 Git이 "작동합니다": o)

1
Owen Blacker

다음 답변은 Windows 서비스 계정에서 ssh를 실행할 때이 질문에도 적용됩니다. Git over SSH가있는 Jenkins (Windows 서비스)

1
Alexander Pacha

키의 경로와 키 파일의 이름을 모두 지정할 수 있습니다 (우분투에서). 예를 들면 다음과 같습니다.

ssh -i /home/joe/.ssh/eui_rsa
1
jim

많은 답변이 이것을 말하지만, 나를 위해 충분히 빠르지 않습니다!

msys (표준 Windows 콘솔)를 사용하는 Windows의 경우 C:\Users\{you}\.ssh\id_rsa

기본적으로 설치된 키 (적어도 새 랩톱에서는 아님)를 스캔하지 않으므로 특별히 id_rsa

Windows 10 64 비트의 경우 Ruby MSYS CLI의 일부 개인 작업 저장소를 복제하려는 경우)

1
MrMesees

Windows 용 Git을 사용하는 경우 SSH 키가 생성되면 SSH 키를 ssh-agent에 추가해야합니다.

새 SSH 키 생성 및 ssh-agent에 추가를 참조하십시오.

eval $(ssh-agent -s)

// Tell where the keys are located

ssh-add ~/.ssh/id_rsa
0
Matoeil

Declan의 답변에 대한 귀하의 의견을 읽고 먼저 명령 프롬프트를 열어보십시오 (시작 → Runcmd) 그리고 git/bin 폴더로 이동하여 ssh-keygen. 이론적으로는 RSA 키를 생성하여 적절한 디렉토리에 배치합니다. 그런 다음 방금 찾아서 공개 키를 세계와 공유해야합니다.

윈도우가 "깜박이는"이유는 Windows가 프로그램을 실행하기 때문이며, 실행되면 실제로 출력이 필요할 때 프롬프트가 표시되어 완료되었다고 생각합니다.

0
naydichev

Windows 7/8을 사용하는 경우 C :\Users\Your_User_Name.ssh를 확인하십시오. id_rsa 파일을 여기에 복사하여 붙여 넣으면 기본적으로 작동합니다.

0
eeree

Windows에서 SSH를 사용할 때 한 가지 실수는 Git Bash 클라이언트를 통해 키를 사용하려고 시도했을 때 ~/.ssh의 모든 파일이 잘못된 권한 이었지만 그 파일이 문제.

테스트와 마찬가지로 ~/.ssh 디렉토리의 모든 항목을 chmod 600으로 설정했는지 확인하십시오.

0
Spedge

PuTTY 에이전트 (대회)를로드하고 PuTTY로 생성 한 개인 키를 서버에 추가 할 수도 있습니다.

힘내는 이것을 인식하고 푸시/풀에 사용합니다.

0
deepakkt

Windows 시스템에 필요한 권한이 있고 정책에서 허용하는 경우 특히 Linux에 대한 사전 경험이 있다고 생각하면 Cygwin ( https://cygwin.com/ )을 설치하는 것이 좋습니다. Cygwin은 다른 Linux/Unix 시스템에서와 마찬가지로 ssh 키를 처리 할 수있게합니다. 또한 Linux의 거의 모든 cli 도구에 액세스 할 수 있습니다.

0
torbenl

필요에 따라 Windows에서 TortoiseGit과 Git Bash를 사용하고있었습니다. TortoiseGit에 모든 것을 추가했는데 정상적으로 작동했지만 키가 올바른 디렉토리에 있어도 Git Bash가 선택하지 않았습니다. Git Bash 에서이 작업을 수행해야합니다.

ssh-add C:\\Users\\<YOUR_USER>\\.ssh\\id_rsa

물론 키가있는 곳으로 경로를 변경할 수 있습니다. \\를 분리 자로 사용하십시오.

0

내 Windows 7 시스템에서 Git Gui는 userprofile/.ssh 폴더 또는 더 구체적으로 c:/users/yourusername/.ssh/.

내 설정의 까다로운 부분은 hostmonster의 공유 호스트가 키를 수락하도록하는 것입니다. 내가 그것을 작동시킬 수있는 유일한 방법은 Git Gui를 사용하여 (키없이) 키 쌍을 만든 다음 제어판, ssh, manage keys를 통해 공개 키를 복사하여 붙여 넣는 것입니다.

처음에 시작하려면 메뉴 도움말, SSH 키 표시로 이동 한 다음 키 생성으로 이동하여 Git Gui에서 키를 만들어야합니다. 이제 .ssh 디렉토리. .pub 파일을 작성하고 내용을 복사하십시오.

공유 호스트의 제어판에 로그인하여 SSH , SSH 키 관리가져 오기 키)로 이동하십시오.. Public 상자에 붙여넣고 확장자없이 올바른 이름을 지정하십시오. 내 이름은 id_rsa. 이제 인증 관리 링크를 사용하여 키를 인증해야합니다. 그러면 키가 authorized_keys 파일.

이제 Git Gui와 Git Bash는 비밀번호를 입력하지 않고도 SSH를 사용하여 푸시 할 수 있습니다. 이상하게도 Linux를 실행하는 자체 서버에서 Git Bash 및 Git Gui을 통해 SSH를 사용하여 푸시를 사용할 수 있었으며 공유 호스팅은 나에게 적합했습니다. 이 문제를 해결하는 데 몇 시간의 시행 착오가 필요했기 때문에 이것이 누군가에게 도움이되기를 바랍니다.

0
user228414

My msysgit OpenSSL/Bash Git 경험 (Putty의 plink가 아님)은 .ssh/ 폴더의 검색 순서는 다음과 같습니다.

  1. %HOME%/.ssh/
  2. %HOMEDRIVE%%HOMEPATH%/.ssh/
  3. %USERPROFILE%/.ssh/

따라서 왜 다른 사람들 중 하나가 당신이 기대하지 않는 경우에 많은 사람들이 HOME 설정을 제안합니다. 더 중요한 것은 자신을 확인할 수 있다는 것입니다. ssh -v를 다음과 같이 공개 키 인증을 사용하는 서버로 디버그하려면 :

$ ssh -v [email protected]
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /d/.ssh/config
...
debug1: identity file /d/.ssh/identity type -1
debug1: identity file /d/.ssh/id_rsa type 1
debug1: identity file /d/.ssh/id_dsa type -1
...
debug1: Next authentication method: publickey
debug1: Trying private key: /d/.ssh/identity
debug1: Offering public key: /d/.ssh/id_rsa
..
Hi kcd83! You've successfully authenticated, but GitHub does not provide Shell access.

모호한 드라이브에서 ssh 검색을 찾았으며 이전 답변 중 어느 것도 우리가 본 것을 설명하지 않는 것 같습니다.

때때로 %HOMEDRIVE%%HOMEPATH%는 매핑 된 네트워크 드라이브 (예 : H:/)로 네트워크/파일 서버 문제가있을 때 %USERPROFILE%/.sshC:/Users/Username/.ssh이고 로컬로 키. %HOME%%USERPROFILE%로 설정하면 원격 홈 드라이브를 보는 것이 중지됩니다.

0
KCD

Windows에서 Git Gui의 v0.17을 사용하여 다음 메뉴 명령을 클릭했습니다. Help SSH 키 표시 .

OpenSSH 공개 키 라는 제목의 대화 상자가 나타납니다. 키를 생성하여 클립 보드에 복사했습니다. 그런 다음 3 단계 부터 githelp 에 대한 setup-ssh 지침을 계속 따릅니다. 이후 Git Gui는 GitHub와 자동으로 통신했습니다. 자격 증명을 입력 할 필요가 없습니다.

0
snow6oy

Windows 10을 사용하면 실행할 때 미묘한 생성 SSH 키 작동 (최소한 명령 줄에서 Git의 경우 SourceTree를 사용하여 문제 없음)을 얻을 수 없었습니다.

git Push Origin master

그래서 내 솔루션 :

  1. 나는 'Git Bash'를 열었다.
  2. ssh-keygen
    
  3. 확인 된 키가 존재합니다

    ls ~/.ssh
    
  4. 메모장 ++에서 id_rsa.pub를 열고 모든 내용을 선택했습니다.

  5. Bitbucket에 새 키 추가 https://bitbucket.org/account/user/myusername/ssh-keys/

  6. 키 필드에 레이블을 붙여 붙여 넣은 내용-> 키 추가

그 후 커맨드 라인 Git이 작동했습니다. 이전 PEM 형식이 필요합니다.이 키를 호출기로 가져 오려고하면 많은 정보가 표시되기 때문입니다.

0
HostMyBus

TortoiseGit을 사용하면 리포지토리 복제시 사용할 키를 지정할 수 있습니다. "Load PuTTY Key"를 확인하고 스크린 샷과 같이 .ppk 파일을 찾으십시오. https://i.stack.imgur.com/lAyzT.png

0
NGNeer

Windows 용 Git 명령 행을 사용하는 경우 다음과 같이 수행 할 수 있습니다.

열다 cmd.exesetx HOME c:\PATH_TO_PRIVATE_KEY.

새 폴더 .ssh, (존재하지 않는 경우) c:\PATH_TO_PRIVATE_KEYid_rsa 파일 (개인 키)이 들어 있습니다.

끝난. 이제 Git 명령 행을 정상적으로 사용할 수 있습니다.

0
duccom