code

콘솔에서 Subversion을 사용할 때 비밀번호를 저장하는 방법

codestyles 2020. 8. 20. 18:48
반응형

콘솔에서 Subversion을 사용할 때 비밀번호를 저장하는 방법


svn콘솔에서 작업을 할 때 내 Subversion 암호를 저장하는 방법이 있는지 궁금합니다 . 콘솔은 내가 가진 유일한 옵션입니다. 예를 들어 Subversion 작업을 수행하려고하면 svn commit매번 계정 암호를 입력하라는 메시지가 표시됩니다. 매번 다시 입력 할 필요가 없도록이 암호를 저장하는 방법이 있습니까?


에서가 ~/.subversion/config, 당신은 아마 있습니다 store-passwords = no. 그것을 변경하십시오 yes(또는 기본값이 yes이기 때문에 주석 처리하십시오). 다음에 Subversion에 암호를 제공하면 저장해야합니다.

의 소유자 및 권한 ~/.subversion/config이 올바른지 확인할 수 있습니다 (공개 또는 그룹 액세스 없음, 600).


사용중인 프로토콜에 따라 다릅니다. SVN + SSH를 사용하는 경우 SVN 클라이언트는 암호를 건드리지 않기 때문에 암호를 저장할 수 없습니다. SSH 클라이언트는 암호를 직접 입력하라는 메시지를 표시합니다. 이 경우 SSH 키와 ssh-agent를 사용하여 지속적인 프롬프트를 피할 수 있습니다. svnserve 프로토콜 또는 HTTP (S)를 사용하는 경우 SSH 클라이언트가 암호를 처리하고 저장할 수 있습니다.


.subversion홈 디렉토리에서 폴더를 지우고 커밋을 다시 시도하십시오. 암호를 묻는 메시지가 표시되고 암호를 저장할 것인지 묻습니다.


나는 편집해야했다 ~/.subversion/servers. 설정했습니다 store-plaintext-passwords = yes(이전에는 없었습니다). 그게 속임수였습니다. 하지만 안전하지 않은 것으로 간주 될 수 있습니다.


~/.subversion/servers파일 에서 다음 단락을 참고 하십시오.

이제 'store-passwords'와 'store-auth-creds'를 config 디렉토리의 'servers'파일에 지정할 수 있습니다. 이 섹션에 지정된 모든 것은 'servers'파일에 지정된 설정으로 대체됩니다.

SVN 버전 1.6.12 이상입니다. 따라서를 재정의 할 때 servers 파일도 편집해야합니다 ~/.subversion/config.


svn + ssh 를 사용하는 경우 공개 ssh 키를 원격 시스템에 복사 할 수 있습니다.

ssh-copy-id user@remotehost

나에게 (Mac 사용자) 문제는 키 체인에 이미 내 자격 증명에 대한 항목이 저장되어 있지만 액세스 권한이 올바르지 않다는 것입니다.

키 체인 앱에서 항목을 삭제 한 다음 svn을 사용하여 다시 생성하면 문제가 해결되었습니다.


암호가 다른 것으로 사용되는 경우 일반 텍스트를 사용하는 것이 최선의 선택이 아닐 수 있습니다.

나는 받아 들여진 대답을지지하지만 그것은 나를 위해 작동하지 않았다-아주 특정한 이유로 : 나는 kwallet또는 gnome-keyring암호 저장소 를 사용하고 싶었다 . 네 파일 모두에서 설정을 변경해 보았습니다.

/etc/subversion/config
/etc/subversion/servers
~/.subversion/config
~/.subversion/servers

모든 것을 동일하게 설정 한 후에도 password-storesKWallet 이름 (기본값이 잘못되었을 수 있습니다. 맞나요?)이 작동하지 않고 계속 암호를 요청했습니다. 의 파일에는 ~/.subversion600 개의 권한 이 있습니다 .

글쎄, 그 시점에서 당신은 한 가지 간단한 것을 확인하려고 할 수 있습니다.

which svn

얻을 경우 :

/usr/bin/local/svn

그러면이 클라이언트가 관리자 (제 경우와 같이 자신 일 수 있음)가 로컬에서 소스에서 빌드 한 것으로 의심 할 수 있습니다.

Subversion은 컴파일 하기 매우 까다 롭고 실수로 HTTP 지원없이 빌드하거나 암호화 된 암호 저장소를 지원하지 않고 실수로 빌드하기가 매우 쉽습니다 (Gnome 또는 KDE 개발 파일과 그 중 많은 파일이 필요합니다!). 그러나 ./configure스크립트는이를 알려주지 않으며 기능이 떨어지는 svn명령 만 받게 됩니다.

이 경우 배포판과 함께 제공된 클라이언트 (일반적으로 /usr/bin/svn. 단점은 svn downgrade명령 이 없기 때문에 작업 복사본을 다시 체크 아웃해야한다는 것입니다 . 어쨌든 Subversion에 대해 어떻게 생각할지 Linus Torvalds 에게 문의 할 수 있습니다 .)


이 멋진 답변 중 어느 것도 Ubuntu를 새로 설치했을 때 저에게 효과가 없었습니다. 대신 답변 의 단서가 나를 위해 트릭을했습니다.

다음을 비워 두어 "간단한"암호 저장소를 허용해야했습니다 ~/.subversion/config.

password-stores =

기존 설정이 없으므로 비어있는 것이 중요합니다.

이것은 다음에 추가되었습니다.

store-passwords = yes

에서 ~/.subversion/servers.


불행히도 대답은 보호 된 개인 키로 ssh + svn에 대한 암호를 묻는 문제를 해결하지 못했습니다. 몇 가지 조사 끝에 다음을 발견했습니다.

ssh-add

Linux 컴퓨터가있는 경우 유틸리티. 키가 저장되어 있는지 확인하고 /home/username/.ssh/터미널에이 명령을 입력하십시오.


Heath의 답변에 추가하려면 : Subversion 1.6은 암호화 된 형식으로 저장할 수없는 경우 기본적으로 암호 저장을 비활성화 한 것처럼 보입니다. 에서 명시 적으로 설정 password-stores =(즉, 빈 값)하여 암호화되지 않은 암호 저장을 허용 할 수 있습니다 ~/.subversion/config.

To check which password store subversion uses, look in ~/.subversion/auth/svn.simple. This contains several files, each a hash table with a simple key/value encoding. The svn:realmstring in each file identifies which realm that file is for. If the file has

K 8
passtype
V 6
simple

then it stores the password in plain text somewhere in that file, in a K 8 password entry. Else, it tries to use one of the configured password-stores.


I'm using the TortoiseSVN client on Windows and for me setting store-passwords parameter as yes in %USERPROFILE%\AppData\Roaming\Subversion\config does not help to store the password.

The password was successfully saved after removing this folder (just in case renaming):

%USERPROFILE%\AppData\Roaming\Subversion\auth

Environment:

Windows 7, TortoiseSVN 1.7.11 (Build 23600 - 64 bit, 2012-12-12T19:08:52), Subversion 1.7.8.

참고URL : https://stackoverflow.com/questions/2899209/how-to-save-password-when-using-subversion-from-the-console

반응형