프로그래밍/리눅스

SVN에서 SSH 터널링하기

panpro 2007. 1. 1. 15:38
SVN에서 SSH로 터널링할 수 있다.

장점
1. passwd 파일을 통해 비밀번호가 노출되지 않는다.
2. SSH를 통하니만큼 보다 보안유지에 좋다.
3. 서버에 SSH만 떠 있으면 그걸로 끝이다.
4. 특별히 svnserve를 띄울 필요도, 외부에서 접속하려고 그 포트를 따로 열어줄 필요도 없다.


단점
1. repository로 가는 문자열 길이가 좀 길어졌다고 해야 하나.
2. 사용자수만큼 리눅스 계정을 생성해 줘야 한다.


서버 설정
SSH 터널링을 하면 리눅스의 사용자 계정으로 접속하게 된다.
그리고 그 사용자 계정으로 로그인해서 그 사용자의 계정 밑의 폴더에 repository를 생성해서 사용하게 된다.

svnadmin create --file-fs fsfs TEST
이런 식이다.

그리고 사용자 계정 바로 밑에 .subversion이라는 폴더가 생성되어 있는데, 그 폴더로 가서 아래와 같이 한다.
vi ~/.subversion/config
[tunnels]
ssh = ssh -l panboy



클라이언트에서
이걸 윈도우의 tortoisesvn에서 접속하려면 tortoiseSVN에서 다음과 같이 한다.
사용하려는 계정이 panboy라면

svn+ssh://panboy@svn.server.com/home/panboy/svn/TEST

위와 같이 상대경로가 아닌 절대 경로(/home/panboy/...) 으로 적어줘야 한다.

접속할 때는 panboy의 로그인 암호로 접속한다.