2009-12-15 4 views
98

나는 그 답이 나와 있음을 알고 있지만, 유닉스 멍청이이고, 아마도 내가 그 얼굴을 때리면 해결책을 알아 내지 못했을 것이다.SVN + SSH, 매회 ssh 추가 할 필요가 없습니까? (Mac OS)

저는 Mac에서 SSH 터널링을 통해 SVN 서버에 연결합니다. 나는 ssh-add privateKey.txt SVN 서버에 연결할 때마다 (두 초석과 Xcode가 SVN에 연결됨)해야합니다.

언제든지 키를 "저장"할 수있는 방법이 있습니까? 매번이 작업을 수행 할 필요가 없습니까? 내 키 체인에 추가 하시겠습니까? 일부 설정 파일? 스크립트 시작? 나는이 버전이에 대한 확인 인 경우 그렇게 확신하지 맥에 많은 경험을 가지고 있지만,이 특정 응용 프로그램이 작동하지 않는 경우 http://www.phil.uu.nl/~xges/ssh/

봐이없는

답변

167

먼저, ~/.ssh에 개인 키 파일을 이동합니다. 이것은 꼭 필요한 것은 아니지만 그러한 것들을위한 표준 장소입니다.

그런 다음 ssh-add -K ~/.ssh/privateKey.txt을 실행하십시오. 필요한 경우 암호문을 묻는 메시지를 표시 한 다음 키 체인에 추가하십시오.

그 후에는 다른 작업을 수행하지 않아도됩니다. 약간 더 긴 설명은 here입니다.

+16

나는이 맥 것이 아니라 보편적 인 유닉스 일이 있음을 명시 적으로 언급하는 것은 가치가 파악. 우분투에서'ssh-add'는'-K' 인수를 취할 수 없습니다. –

+2

링크 된 기사가 Leopard 용이지만 OS X Mavericks에서는 여전히 작동합니다. –

+1

누군가 다른 환경에 대해 동일한 명령을 갖고있을 수 있습니까? mysysgit의 ssh-add는 -K 인수를 받아들이지 않는다. – Blake

1

sshkeychain 일 가능성이 있습니다. (첫 번째 발사에서의 일반적인 마우스 오른쪽 GHT 클릭을 사용하여

sudo port install sshkeychain 

가 암호를 저장하는 키 체인을 사용하고, 당신은 단순히 당신의 로그인 세션의 시작에 그것을 실행할 수 있습니다 사용 MacPorts를 함께 잘 설치 도킹 아이콘 + "시작시 실행")

Apple의 svn은 키 저장소를 사용하여 암호를 저장하지만 반드시 macports로 빌드 할 svn 바이너리는 아닙니다.

18

많은 탐험 끝에이 문제에 대한 답을 찾은 것 같습니다. 먼저 ssh-add -K ~/.ssh/your_key_here을 수행하십시오. 이렇게하면 키 체인에 키가 추가됩니다. 어떤 곳, 나는 이것으로 충분하다고 읽었지만 확실하지 않았습니다. 이것은 또한 맥마다 다르므로 다른 유닉스 풍미에서이 작업을 수행해야하는 경우 반드시이 옵션을 사용하지 않아도됩니다.

나는 모든 키를 가리 키도록 ~/.ssh/config 파일을 편집했습니다 (작성해야 할 수도 있음). 광산은 다음했습니다

IdentityFile ~/.ssh/identity 
IdentityFile ~/.ssh/id_rsa 
IdentityFile ~/.ssh/id_dsa 
IdentityFile ~/.ssh/my_other_identity_here 
IdentityFile ~/.ssh/yet_another_identity_here 

ssh_config를위한 man page에 따르면, 순서대로 시도합니다. 목록에있는 처음 세 개의 기본 항목이 있어야하는지는 확실하지 않지만 어쨌든 포함 시켰습니다.

ssh-add -K 

을 그리고 다른 키 실행에 대한 암호를 저장 :

+0

'-K'플래그가 없습니다 on mac os x'ssh-add'에 대해서 –

+2

** OS X에는'ssh-add'에 **'-K' 플래그가 ** 있습니다. 이것에 추가로, 이것은 선택된 대답이어야합니다. – kaiser

+1

'/ usr/bin/ssh-add'를 사용했는지 확인하십시오. '/ usr/local/bin/ssh-add'에서 제공되는 homebrew는 -K 옵션을 제공하지 않습니다. –

49

키 체인에서 기본 키 터미널을 열고 실행을 위해 암호를 저장하려면 키 체인

에 암호 구 저장하기 :

ssh-add -K /path/to/private/key/file 

암호를 입력하라는 메시지가 나타나면 입력하십시오.

ssh-add를 실행하거나 암호를 다시 입력 할 필요가 없습니다. 이 사이트에서 가져온

답변 : http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html

3

맥 OS 10.12.2 때문에 당신은 UseKeychain 옵션을 사용할 수 있습니다. Read more here 또는 man ssh_config을 참조하십시오.

 UseKeychain 
     On macOS, specifies whether the system should search for passphrases in the user's keychain 
     when attempting to use a particular key. When the passphrase is provided by the user, this 
     option also specifies whether the passphrase should be stored into the keychain once it has 
     been verified to be correct. The argument must be ``yes'' or ``no''. The default is ``no''. 

그래서 그냥 다음을 수행하십시오

echo "UseKeychain yes" >> ~/.ssh/config

+1

이 작업이 필요합니다. **매우 중요**! – quarezz