'ssh-keygen'은 내부 또는 외부 명령으로 인식되지 않습니다.


103

난 달린다 git push -u origin master

"Permission denied (public key) fatal : 원격 끝이 예기치 않게 끊겼습니다."라는 메시지가 표시됩니다.

그런 다음 인터넷을 검색 한 결과 GitHub에서 내 계정에 대한 ssh 키를 생성해야한다는 것을 알았습니다. 그러나 그렇게 할 때 ssh-keygen -t rsa "email@youremail.com"을 시도했을 때 단순히 ssh-keygen이 인식되지 않는다고 말했습니다. mkdir C : \ ssh를 시도했지만 작동하지 않았습니다. 도움이된다면 Ruby Rails를 사용하고 있고 Windows 컴퓨터를 사용하고 있습니다. 누구든지 나를 도울 수 있습니까?

답변:


133

2012 : msysgit의
ssh-keygen.exe 일부입니다 .

 C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe

당신이 경우에 %PATH%포함 C:\path\to\msysgit1.7.11\bin\, 당신은 할 것이다 ssh-keygen.


업데이트 2015 : PortableGit-2.4.3.1-2nd-release-candidate-64-bit.7z 포함 된 릴리스Git For Windows의
ssh-keygen.exe 일부입니다.

c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin\ssh-keygen.exe

즉, 의미 %PATH%가 포함되어야 c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin합니다 (없이 ssh-keygen.exe)

앞서 설명했듯이 Windows 용 Git은 곧 msysgit을 단계적으로 제거합니다.
" 네트워크에서 Git 2.0을 다운로드하면 항상 1.9.4 설치 프로그램 패키지가 제공되는 이유는 무엇입니까? "에서이 새 버전이 최신 msys2 프로젝트를 기반으로하는 방법에 대해 자세히 설명했습니다 .


ssh-keygen.exeWindows의 PATH에 있는 것이 안전 합니까? 그 후에 그 위치를 제거해야합니까?
Green

@Green은 실제로 PATHgit와의 세션 동안에 만 Windows의 일부입니다 git-cmd.bat. github.com/msysgit/msysgit/blob/master/git-cmd.bat로 특수 DOS 세션을 시작하기 때문 입니다. 완료 PATH및 설정 HOME됩니다.
VonC 2013

당연히 경로는 ssh-keygen.exe. 내 말은, 그것은 나에게만 이런 식으로 작동합니다.
alexander

1
@alexander 동의하며 답을 더 잘 보이게 수정했습니다.
VonC

7
나를 위해, 경로이었다C:\Program Files (x86)\Git\usr\bin
rupinderjeet

65

나는 방금이 문제가 있었고이 문제를 해결하는 더 쉬운 방법이라고 생각한 것을 공유 할 것이라고 생각했습니다.

git-bash를 열고 이메일 주소 : ssh-keygen -t rsa -C "email@youremail.com"명령에 주석을 달고 있으므로 -C를 추가하여 동일한 명령을 실행하십시오 . 그게 다야.

git을 설치할 때 git-bash가 설치되어 있어야합니다. 찾을 수없는 경우 C : \ Program Files \ Git \ Git Bash를 확인할 수 있습니다.

처음으로이 작업을 수행했을 때 .ssh 폴더를 만들지 못 했으므로 표준 명령 프롬프트와 mkdir C : \ Users \ yourusername \ .ssh를 열어야했습니다.


15
+1 다른 소프트웨어 패키지의 설치를 제안하지 않음
Chip McCormick

2
다른 설치하지 않아도 becuase +1이 더 나은 솔루션입니다
guoleii

내 키가 .ssh폴더에 저장되지 않았습니다 . Git Bash존재 하는 것과 동일한 디렉토리에 저장되었습니다 .
아마드 Behzadi

51

Windows에서 아래를 따랐습니다 (Windows 용 Git가 설치됨).

  1. "Git Gui"실행 (시작-> Git-> Git Gui)
  2. 도움말을 클릭 한 다음 SSH 키 표시를 클릭하십시오.
  3. 아직 키가 없으면 키 생성을 클릭하십시오.

참고 :-개인 프로필 폴더 C : \ Users \ YourUserID \ .ssh \ 아래에 키 파일이 생성됩니다.

여기에 이미지 설명 입력


좋은 대답-새 SSH 키를 만드는 좋은 쉬운 방법
-TY

9

이 문제를 해결할 수있는 쉬운 해결책을 찾았습니다.

명령 프롬프트에서 git \ bin 디렉터리로 이동 한 다음 여기에서 명령을 실행합니다.


6
내 시스템 Windows 10에서 ssh-keygen.exe는 'git \ usr \ bin'에 있습니다.
Tarabass

9

환경 변수에 아무것도 추가 할 필요가 없습니다! git bash를 열고 거기에서 ssh-keygen 명령을 수행하십시오.

여기에서 git bash 다운로드 링크


8

Git이 설치되어 있고 C : \ Program Files에 설치되어있는 경우 다음과 같이하십시오.

  1. "C : \ Program Files \ Git"로 이동합니다.
  2. git-bash.exe를 실행하면 새 창이 열립니다.
  3. 새 bash 창에서 "ssh-keygen -t rsa -C" "를 실행하십시오.
  4. 키를 저장할 파일을 묻는 메시지가 표시되며 값을 입력하지 말고 Enter를 누르십시오.
  5. 암호와 동일 (두 번), Enter를 누르기 만하면됩니다.
  6. id_rsa 및 id_rsa.pub는 .ssh 아래의 홈 폴더에 생성됩니다.

4

heroku.bat로 이동하여 다음을 추가하십시오.

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH%@SET PATH=%HEROKU_RUBY%;%PATH%

제 경우에는 D : \ Program Files (x86) \ Git \ bin에 있으며 Git을 설치 한 경로로 변경하십시오. (방금 내 경로에 남겨 두었으므로 작성 방법이 더 명확해질 것입니다)


3

PATH 환경 변수에 ssh-keygen.exe 파일의 위치를 ​​추가 할 수 있다고 생각합니다. 단계를 따르십시오 : 내 컴퓨터-> 오른쪽 클릭-> 속성-> 고급 시스템 설정-> 환경 변수 클릭. 이제 PATH를 클릭 한 다음 EDIT를 클릭합니다. 변수 값 필드에서 끝으로 이동하여 '; C : \ path \ to \ msysgit1.7.11 \ bin \ ssh-keygen.exe'(따옴표 제외)를 추가합니다.


3

명령 프롬프트에 입력 만하면됩니다.

C:\> sh

다음 당신은 이렇게 얻었다

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "example@example.com"

작동해야합니다.


2

Windows의 경우 다음을 추가 할 수 있습니다.

SET PATH="C:\Program Files\Git\usr\bin";%PATH%



0

BASH HERE 옵션을 선택하지 않은 사람들을 위해. cmd에 sh를 입력하면 ssh-keygen.exe에 액세스 할 수 있어야합니다.


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