학교 서버에 설치된 SVN에 접근을 하기 위해, TortoiseSVN으로 로긴을 하려고 했습니다.
ssh+svn을 사용하고 있었는데, 문제는 로긴을 3번이나 해야 접근이 가능했습니다.
도대체 이 현상이 이해가 가지 않아, TortoiseSVN 도움말을 보았는데 부록에 뭔가 이상한게 있더군요.
"G. Securing Svnserve using SSH"
뭐지 이건? 일반 SVN이 아니라 SSH를 이용한 SVN을 접근하려면 뭔가 다른 짓을 해줘야 할 것 같다는 느낌이 들더군요. 그래서 있는 그대로 따라해봤는데, Key를 Pageant에 등록만 하면 로긴 자체가 필요가 없더군요. 따라서 위 문제도 자동으로 해결!
1. 아래의 링크에서 Putty, Plink, Pageant, Puttygen을 받습니다.
나중에 서버에서 생성된 파일을 얻기 위해 WinSCP도 받는게 좋더군요.
Putty Family: http://www.chiark.greenend.org.uk/~sgtatham/putty/
WinSCP : http://winscp.net/eng/download.php2. 자, 이제 Public Key와 Private Key를 생성합니다.
Putty를 이용하여 서버에서 아래의 명령어를 칩니다.
암호라고 되어 있는 부분에 자신이 사용할 암호를 적습니다.
이 암호는 아래의 단계들에서 계속 사용하므로 잘 기억하고 있는게 좋습니다.
ssh-keygen -b 1024 -t dsa -N 암호 -f keyfile
3. ls 명령으로 keyfile(개인 키)과 keyfile.pub(공개 키)가 만들어 진 것을 확인 합니다.
4. 자신의 폴더(~)에 .ssh 라는 폴더가 없으면 만들고, 여기에 keyfile.pub을 authorized_keys라는 파일명으로 저장합니다.
cd ~
mkdir .ssh
cat keyfile.pub >> /home/당신/.ssh/authorized_keys
5. 이제 TortoiseSVN을 사용할 로컬(Windows PC)로 이동해서 개인키를 등록합니다.
WinSCP를 이용해서 서버에 있는 개인키(keyfile)를 로컬로 이동시킨 다음,
PuttyGen을 실행해서 Conversions -> Import Key를 실행하고, keyfile을 넣은 다음
Save Private key를 실행해서 keyfile.ppk로 저장합니다.
6. Pageant를 실행한 다음, Add keys를 선택하고 keyfile.ppk를 넣어줘야 합니다.
7. 이제 TortoiseSVN 으로 접속하면, 로긴 창이 뜨지도 않고 로긴 됩니다!
단, 접속할 때 svn+ssh://당신아이디@URL 식으로 //와 @사이에 넣어줘야
ID를 안 물어봅니다. 만약 이 작업을 하지 않으면, 아이디만 3번 물어보더군요.
댓글 없음:
댓글 쓰기