강좌 & 팁
글 수 2,412
2014.08.22 14:12:08 (*.134.169.166)
51213
지난 시간에 소개해드린 SmartGit/Hg 프로그램의 설정 중 SSH client 설정은 두가지가 있었습니다.
- Use system SSH client
- Use SmartGit/Hg as SSH client
후자인 SmartGit/Hg가 SSH client로 동작하게 하면 windows나 linux 모두 아무런 문제 없이 사용할 수 있으나, system SSH client를 사용하게 되면 몇가지 유의해야할 부분이 있어 알려드리고자 합니다.
Linux에서 일반적으로 ssh key를 관리하는 방식은 다음과 같습니다. User의 home directory밑에 있는 .ssh 폴더에 저장되어 있는 private key인 id_rsa파일과, public key인 id_rsa.pub 두가지를 기본으로 사용하여 접근을 합니다.
Windows에서도 동일하게 동작합니다. 다만 windows에서의 user의 home directory는 os 버전마다 다르니 아래를 참고하여 해당 home directory밑에 .ssh 폴더를 생성하여 private, public key를 저장해두면 됩니다.
OS 종류 | 위치 |
Microsoft Windows NT | <root>\WINNT\Profiles\<username> |
Microsoft Windows 2000, XP and 2003 | <root>\Documents and Settings\<username> |
Microsoft Windows Vista, 7, 8 and 8.1 | <root>\Users\<username> |
Windows에서 rsa key를 생성하려면 putty 패키지를 설치하면 가능합니다.
- http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 에서 puttygen.exe를 다운로드 받으시거나 설치 패키지를 받아서 설치합니다.
- 실행하신 후 Generate를 누릅니다.
- 아래의 그림에서 빨간 박스 부분 위에서 마우스를 랜덤하게 움직입니다.
- 아래 그림과 같이 생성이 끝나고 나면 Conversions 메뉴에서 Export OpenSSH key메뉴를 선택합니다.
- 암호를 설정하지 않고 저장할 것이냐고 물어보는 대화상자가 뜹니다. 암호는 입력하지 않도록 합니다. 파일이름은 id_rsa로 하고 home directory 밑의 .ssh 폴더 밑에 저장합니다.
- 4번에서 빨간박스 안에 있는 파랗게 선택되어진 텍스트가 공개키 내용입니다. 복사하여 home directory 밑의 .ssh폴더에 id_rsa.pub로 저장합니다.
이걸로 ssh key 생성은 완료가 되었습니다.
여기서 중요한 작업이 하나 남아있습니다.
SmartGit/Hg에서 Tools메뉴에 있는 Open Git-Shell을 실행하시면 아래 그림과 같은 창이 뜹니다.
최초로 접근하는 git repository의 주소에 대해서는 shell에서 clone을 한번 하셔야 한다는 점입니다.
.ssh폴더에 있는 known_hosts에 등록되지 않은 주소에 대해서 ssh는 사용자에게 해당 주소를 등록할 것인지 묻습니다. 이 부분은 사용자가 직접 키를 입력해야하는 부분이기 때문에 SmartGit/Hg에서 처리가 되지 않고, SmartGit/Hg는 기대하는 동작(cloning)이 끝이 나지 않기 때문에 작업을 완료할 수 없게 됩니다. -- known_hosts에 직접 등록하는 방법도 있습니다만, 자주 있는 작업이 아니라서 외우기가 쉽지 않아 저는 clone을 한번 하여 등록합니다. --
이것으로 SmartGit/Hg에서 system SSH client를 사용할 수 있게 되었습니다.