svnadmin
나는 (및 나머지 필수 유틸리티도) 설치된 FreeBSD 시스템에 대한 SSH 액세스 권한을 가지고 있습니다 . svn은 버전 1.7.9(r1462340)입니다. 저는 Tortoise SVN 1.7.7을 사용하는 Windows 7 x64를 사용하고 있습니다.
나는 팔로우했다이 공식 가이드서버와 Tortoise SVN을 설정하는 데 도움을 줬는데 설정하는 데 문제가 있습니다.
개인/공개 키 쌍을 생성하여 서버 ~/.ssh/authorized_keys
파일과 Putty 구성에 각각 추가했습니다. 퍼티와 개인 키를 사용하여 원격 시스템에 연결할 수 있습니다.
또한 동일한 작업을 수행하도록 Tortoise SVN을 구성해 보았으며 다음에 연결하고 있습니다.
svn+ssh://myBSDusername@it2svn/somerepo
it2svn
이름이 어디 있나요?일하고 있는Putty 연결 프로필이며 somerepo
내 저장소 루트( )에 있는 저장소입니다 ~/svnroot/somerepo
.
발생하는 문제Tortoise SVN이 내 키의 암호 문구를 요청하고, 이를 몇 번이나 올바르게 입력하더라도 암호 대화 상자가 1-2초 동안 닫혔다가 다시 암호 문구를 입력하라는 메시지가 표시된다는 것입니다.그게 틀렸다고도 하지 않죠, 계속해서 암호를 묻는 메시지가 나타납니다.
의도적으로 잘못된 암호를 입력하면 다시 묻는 메시지가 나타납니다.곧, 올바른 항목을 입력할 때 발생하는 1~2초의 지연이 없습니다. 횡설수설을 입력해도 대화 상자에서는 여전히 잘못되었다고 말하지 않습니다. 이는 그들의 버그일 수 있지만 여전히 내 올바른 암호가 허용되지 않는 이유를 설명하지 못합니다.
구성
파일 내용은 다음과 같습니다 authorized_keys
(실제 키 내용은 제거됨).
ssh-dss AAA....FuA== myBSDusername@ems
command="svnserve -t -r ~/svnroot --tunnel-user=svnAuthorDude",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss AAAA....IFuA== myBSDusername@ems
중요 사항:가이드는 내 "명령" 줄이 다음과 같아야 한다고 말했습니다.
command="svnserve -t -r <ReposRootPath> --tunnel-user=<author>",
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,
no-pty ssh-rsa <PublicKey> <Comment>
ssh-keygen
그러나 가이드에서와 동일한 매개변수를 사용 하여 생성한 키는 ssh-dss
대신 로 시작합니다 ssh-rsa
. 따라서 ssh-rsa
내 파일에서 로 대체됩니다 dss
(분명히 키가 RSA 키가 아니라 DSA이기 때문입니다).
답변1
문제는 키 쌍에 암호를 사용하고 미인 대회를 사용하지 않는 것입니다.
TortoiseSVn이 SSH 터널과 연결되면 plink(또는 TortoisePLink)를 사용하여 여러 개의 개별 요청을 만드는 것으로 보입니다. 이런 일이 발생할 때마다 SSH 키가 필요하므로 잠금을 해제해야 하므로 비밀번호 요청이 발생합니다.
키 쌍을 암호로 보호하지 않으면 암호를 물을 필요가 없습니다.
TortoiseSVN을 사용하기 전에 pageant가 키를 로드하도록 구성하면 plink는 대신 pageant에서 이미 잠금 해제되고 캐시된 키를 가져옵니다. 이런 방식으로 비밀번호로 보호된 키를 사용할 수 있으며 비밀번호를 반복적으로 입력할 필요가 없습니다. 그래도 미인 대회에 키를 추가할 때 한 번 입력해야 합니다.
답변2
PuttyGen을 사용하여 키 쌍을 다시 생성하고 RSA2 키 쌍으로 만들었습니다(기존 DSA 키와 비교). 또한 암호로 개인 키를 보호하는 과정을 건너뛰었고 이제 모든 것이 (마법처럼) 작동합니다. 실제로 어떤 변경으로 인해 문제가 해결되었는지 정확히 알 수 없지만 유사한 문제가 있는 향후 개발자에게 도움이 되기를 바랍니다.
내 사용자의 (관련) 내용은 다음과 같습니다 ~/.ssh/authorized_keys
.
ssh-rsa AAAA...Wc= rsa-key-20130529
command="svnserve -t -r /user/rest/of/path/svnroot --tunnel-user=someuser",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAA...Wc= andrei