Windows 용 git (msysgit) μ—μ„œ github μ—°κ²°μ‹œ Permission denied (publickey) 문제 ν•΄κ²°

문제

Unix 의 ssh λŠ” $HOME/.ssh/id_rsa λ₯Ό 기본적으둜 μ‚¬μš©ν•˜λ‚˜

Windows용 git 인 msysgit 에 ν¬ν•¨λœ ssh.exe λŠ” %USERPROFILE%\.ssh μ—μ„œ 찾지 μ•Šκ³  git 이 μ„€μΉ˜λœ 폴더와 같은 레벨의 .ss hν΄λ”μ—μ„œ id_rsa λ₯Ό 찾게 λ˜λ―€λ‘œ μ € κ²½λ‘œμ— 파일이 μ—†μœΌλ©΄ λ‹€μŒκ³Ό 같은 μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.

c:\ ssh -T git@github.com
Β 
Permission denied (publickey).

-i μ˜΅μ…˜μœΌλ‘œ λͺ…μ‹œμ μœΌλ‘œ id_rsa 의 μ ˆλŒ€ 경둜λ₯Ό 지정해도 git.exe κ°€ λ‚΄λΆ€μ μœΌλ‘œ ssh.exe λ₯Ό ν˜ΈμΆœν• λ•Œ 이 μ˜΅μ…˜μ„ λ„˜κ²¨μ€„ 방법이 μ—†μœΌλ―€λ‘œ git.exe μ‚¬μš©μ‹œμ—λŠ” μ œλŒ€λ‘œ λ™μž‘ν•˜μ§€ μ•ŠλŠ”λ‹€.

ν•΄κ²°

1.git ν΄λ”μ˜ .ssh 에 identity_file 이동

msysgit 이 c:\devel\git 에 μ„€μΉ˜λ˜μ—ˆλ‹€κ³  ν•˜μž. 그러면 λ‹€μŒκ³Ό 같은 ꡬ쑰λ₯Ό κ°–κ²Œ λœλ‹€.

c:\devel\git

    • bin
    • cmd
    • doc
    • ...

bin, cmd 와 같은 레벨둜 .ssh 폴더λ₯Ό λ§Œλ“€κ³  여기에 id_rsa, id_rsa.pub λ₯Ό 볡사해 μ£Όλ©΄ λœλ‹€.

  • .ssh
    • id_rsa
    • id_rsa.pub
  • bin
  • cmd
  • doc
  • ...

2.putty 의 ssh ν”„λ‘œκ·Έλž¨μΈ plink와 key 관리 ν”„λ‘œκ·Έλž¨μΈ Pageant μ‚¬μš©

GIT_SSH ν™˜κ²½λ³€μˆ˜λ₯Ό μ„€μ •ν•΄μ„œ git 이 μ‚¬μš©ν•˜λŠ” ssh λ₯Ό putty 의 plink.exe 둜 ꡐ체후 Pageant 에 ssh key λ₯Ό import ν•œλ‹€.

μžμ„Έν•œ μ ˆμ°¨λŠ” μ˜ˆμ „ λΈ”λ‘œκ·Έ μ°Έμ‘° -Β http://lesstif.tistory.com/entry/windows%EC%97%90-git-%EC%84%A4%EC%B9%98%ED%96%88%EB%8A%94%EB%8D%B0-ssh-%EA%B0%80-%EB%8F%99%EC%9E%91-%EC%95%88-%ED%95%A0-%EA%B2%BD%EC%9A%B0