TortoiseSVN: KLDP.net 에서 키를 통한 svn+ssh 사용하기

stypr의 이미지

그냥 쪽지 형식으로 글을 남깁니다. 안되면 대략 낭패. 질문 사절 (죄송합니당)

1. puttygen 을 다운 받는다.
2. 실행한다.
3. "Generate" 누른다. 마우스 좀 움직여 준다.
4. "Save private key" 를 클릭한다. 적당한 곳에 개인키 저장한다. (암호를 넣든, 코멘트를 넣든 한다.) 여기서는 c:\svn.private.ppk 로 저장.
5. 위 상자에 있는 text 를 ㅤㄱㅡㅀ어 텍스트로 저장한다. c:\svn.authorized_keys 로 저장
6. 프로그램 종료한다.
7. (KLDP.net 에 계정은 이미 만들어져 있어야 한다.)

(바로 접근하기를 원하다면 아래와 같이 한다.)
8. 자신이 아는 유닉스 계정에 접속한다?
9. mkdir .ssh
10. c:\svn.authorized_keys 파일을 .ssh 디렉토리 밑에 authorized_keys 파일로 복사한다.
11. 디렉토리 복사. scp -r .ssh <계정>@kldp.net:
(KLDP.net 에 계정을 만들면 기본적으로 .ssh 디렉토리가 없기 때문에 디렉토리 채로 복사해야 한다. 안그랬다간 파일로 잘못 복사되면 대략 GG. 관리자한테 지워달라고 해야 한다. rm 명령 실행 불가능)

(원천적인 방법)
11-1. http://kldp.net/account/ 에 접근한다.
11-2. 맨 밑으로 이동한다. "[키 편집하기]"를 클릭한다.
11-3. c:\svn.authorized_keys 를 editor 로 열어서 글을 복사한다.
11-4. 키를 붙여 넣는다. "갱신"을 클릭한다. 그러면 KLDP.net 의 crontab 이 한시간 간격으로 키를 자동으로 ~/.ssh/authorized_keys 에 넣을 것이다.
11-5. 만약 ( 8 ) 항목으로 했을 경우, KLDP.net 의 crontab 이 자동으로 지워버린다.

12. putty 실행. hostname 입력: kldp.net
13. 옆 메뉴 Connection 선택.
14. Auto-login username 에 자기 계정 넣기
15. SSH 메뉴 밑에 Auth 선택. Private key file for auth... 에 개인키 경로 입력
16. 메뉴 Session 클릭. Saved Session 에 kldp.net 으로 세션 "Save" 함.

17. 탐색기 실행
18. 아무 디렉토리 아이콘 위에서 마우스 오른쪽 클릭
19. TortoiseSVN -> Settings 클릭
20. Network 메뉴 선택
21. SSH Client 밑에 아래와 같이 입력
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -i 개인키_경로
22. 확인

23. 빈 디렉토리 아이콘 위에서 마우스 오른쪽 클릭
24. TortoiseSVN -> Re-po Browser 클릭
25. svn+ssh://kldp.net/svnroot/프로젝트이름 입력

마침.

참고: 인증키 생성시 패스워드 phrase 를 입력하지 않았으면 바로 프로젝트 트리가 보여야 정상
인증키 생성시 패스워드를 입력했다면 .... for (인증키 코멘트) 형식의 메세지 박스가 떠야함
만약 단순히 Password: 라고 뜨면 설정 실패.

Forums: 
정태영의 이미지

test wrote:
12. putty 실행. hostname 입력: kldp.net
13. 옆 메뉴 Connection 선택.
14. Auto-login username 에 자기 계정 넣기
15. SSH 메뉴 밑에 Auth 선택. Private key file for auth... 에 개인키 경로 입력
16. 메뉴 Session 클릭. Saved Session 에 kldp.net 으로 세션 "Save" 함.

17. 탐색기 실행
18. 아무 디렉토리 아이콘 위에서 마우스 오른쪽 클릭
19. TortoiseSVN -> Settings 클릭
20. Network 메뉴 선택
21. SSH Client 밑에 아래와 같이 입력
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -i 개인키_경로
22. 확인

http://bbs.kldp.org/viewtopic.php?p=283449&highlight=#283449

putty plink filezilla 모두 putty 에 기반하고 있다는군요 :)

그렇기 때문에 putty 사이트에 있는 pageant (unix 에서의 ssh-agent 역할을 합니다) 에다가 키를 등록해둘 경우에... 저 모든 것들에서 비밀번호 없이 rsa 비밀키 파일 하나만으로 인증이 가능해집니다...

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

rollin96의 이미지

일단 위에 분이 말씀하신 방법대로 하면 되...ㄹ것 같습니다...;;;

저는 실수를 해서 위 순서대로 하지는 않았지만 제 기억이 맞다면 같은 방법을 썼을 것입니다...;;;

테스트 한 어플: putty, TortoiseSVN
테스트 대상: kldp.net, 제 학교 서버

1. 제가 한 실수.
puttyGen 프로그램의 박스 안에 있는 내용을 긁어 붙여야 한다는 사실을 모르고, puttyGen이 생성한 파일 내용을 긁어 붙였습니다. =.=
이 덕분에 서버에서 public key 인식을 못하고 접속을 계속 거부 하더군요.
puttyGen을 실행 시켰을 때
Public key for parsting into OpenSSH authorized_keys file:
라고 적혀있는 밑에 박스 안에 이런저런 글자가 있는데 이것을 갖다 쓰셔야 합니다.
아무래도 서버에서 인식하는 public key의 형태는 앞에 ssh-rsa 와 같은 key의 형태가 먼저 오나 보군요.

2. putty로 성공 실패 확인.
kldp.net에 putty로 접속 시도를 했을 때, 저 같은 경우 쉘 사용 권한이 없어서 정상 접속이 되면 바로 끊겨 버립니다. 전 이것때문에 설정이 잘못 된 줄 알고 있었는데 정상인 것입니다. =.=a 문제는 putty로 접속을 시도 했을 때 설정이 잘 됐으면 위에서 말씀하신대로

Quote:
Authenticating with public key "rsa-key-20060219"

라는 형태로 뜹니다. 설정이 잘못 됐으면
Quote:
Server refused our key

라고 뜹니다.

3. 다른 Linux서버에서 확인해보기.(제 경우는 제 연구실 서버 사용)
~/.ssh 폴더 밑에 "authorized_keys" 라는 파일이 생성 되고 이 안에

Quote:
ssh-rsa ABCDE..............etwqQ0= comment
ssh-dss ABCDE..............etwqQ0= comment

라는 형태로 public key가 들어가게 됩니다. (ABCDE.....etwqQ0= 부분은 제가 음의로 넣은 값이며, 저 위치에 실제 키 값이 들어가게 됩니다.) 뒤에 comment라고 적어 놓은 부분은 말 그대로 커맨트가 들어가는 자리 입니다. comment에 띄어쓰기가 들어가도 상관 없습니다.

4. 정 안된다 싶으면 다른 리눅스 서버에 들어가셔서 key를 만들어 보세요. ssh-keygen 으로요.(http://wiki.kldp.org/wiki.php/DocbookSgml/SSH-KLDP#AEN87 참조) 참조의 내용대로 따라 하시면 id_rsa.pub란 파일이 생성 되는데 이걸 보시면 puttyGen과 어떻게 다른지 아실 수 있습니다.
client의 경우 putty나 tortoiseSvn은 둘 다 putty의 private key파일(.ppk)을 그대로 쓰면 되고요.

kldp.net에 접속 되자마자 끊기는 것이랑, 잘못된 형태의 public key를 긁어 붙인 것 때문에 몇일을 고생했군요 ㅠ.ㅠ
저 "1시간마다 업데이트"라는 것도....저것도 은근히 시간 잡아먹게 하구요.
scp로 kldp.net에 파일 복사를 시도해보진 않았는데...이게 되면 kldp.net의 "나의 계정"에 키를 입력하는 것 보다 훨씬 빠르고 시간도 절약될 듯 싶군요.

SubClipse의 경우도 기본적으로 같을 듯 싶군요.
http://subclipse.tigris.org/servlets/ReadMsg?list=users&msgNo=3334
에 나온 것 처럼 세팅하는 위치가 조금 다를 뿐일 듯.

너무 너저분하게 적어 둬서 읽으시는 분께 도움이 되려나 모르겠네요 =.=a

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.