2010-05-10 3 views
6

이메일 주소를 사용자 이름으로 사용하여 svn 저장소에 대한 액세스를 허용해야합니다. 그래서 같은 "$"에 "@"전자 메일 주소를 변경하여 ssh를 통해 서버에 아무 문제에 로그온 할 수 없습니다 :svn + ssh 로그인에서 사용자 이름으로 이메일 주소가 있습니까?

ssh [email protected] 

불행하게도, 같은 SVN + SSH 작동하지 않습니다. 이것은 나를 아무데도 얻지 못합니다 :

svn ls svn+ssh://[email protected]/home/accountname/data/svn/repos 

누구나 이것이 일반적으로 어떻게 수행되는지 압니까?

답변

4

URL이기 때문에 @ 기호를 URL 인코딩 해 보셨습니까? 이 방법이 효과가 있을지 모르겠지만 시도해 볼 수는 있습니다 user.name%40mydomain.com.

+0

하! URL 인코딩이 작동하지 않지만 필요한 대신 $ ($ 대신)가 사용됩니다. 따라서 로그인 문자열은 실제로 다음과 같습니다. svn ls svn + ssh : //user.name%[email protected]/home/accountname/data/svn/repos 이 제안이 없으면 찾지 못했을 것입니다. . 감사합니다. – Andrew

+0

이상한. 나는 당신이 그 문자들 (ssh에서 $ 또는 svn + ssh에서 %)을 @ 문자로 대체 할 수 있다고 생각하지 않았다. 사실 SSH 명령의 $ mydomain이 빈 문자열로 바뀌면 user.name.com으로 끝날 것입니다. 그러나 헤이, 그것이 일하면, 멋지다! –

-1

$는 사용중인 쉘로 대체되지 않습니까? 그리고 SVN은 인증을 위해 user + email 대신 usernames만을 가지고 있습니다. 나는 이것이 작동하지 않을 것이라고 생각한다.

+0

동일한 쉘에서 ssh 연결과 svn 연결을 동일한 방식으로 생성하도록주의 했으므로 자격 증명도 동일하게 처리해야합니다. 나는 "@ mydomain.com"(플러스 다른 많은 변형)을 떨어 뜨려고 시도하고 동일한 결과를 얻을. 문제는 내 호스트에서 사용자 이름 _ 전자 메일 주소입니다. 나는 인증이 svn에 의해 관리되는지 또는 ssh 또는 그 사이의 어딘가에 직접 전달되는지는 모르겠다. – Andrew

0

이전 답변에서 말한 것처럼 UNIX 상자를 사용 중이라면 쉘 프로그램이 변수를 $로 바꾸려고 시도했을 가능성이 큽니다. 이런 그 앞에 백 슬래시를 포함하여 "$"기호를 탈출 시도 :

svn ls svn+ssh://user.name\[email protected]/home/accountname/data/svn/repos 

을 양자 택일로, 당신은 당신이 $ 교체하려고해서는 안 사용하는 URL, BASH 또는 어떤 쉘 주위에 작은 따옴표를 사용하는 경우.

svn ls 'svn+ssh://[email protected]/home/accountname/data/svn/repos' 
관련 문제