[svn] SVN + SSH, 매번 ssh-add를 할 필요가 없습니까? (맥 OS)

답이 저 밖에 있다는 것을 알고 있지만, 나는 꽤 유닉스에 멍청하고 얼굴에 맞으면 해결책을 인식하지 못할 것입니다.

저는 Mac에서 SSH 터널링을 통해 SVN 서버에 연결하고 있습니다. ssh-add privateKey.txtSVN 서버에 연결할 때마다 해야 합니다 (Cornerstone과 Xcode 모두 SVN에 연결 중입니다).

매번이 작업을 수행 할 필요가 없도록 키를 어딘가에 “저장”하는 방법이 있습니까? 내 키 체인에 추가 하시겠습니까? 일부 구성 파일? 스크립트를 시작 하시겠습니까?



답변

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

그런 다음 ssh-add -K ~/.ssh/privateKey.txt. 필요한 경우 암호를 입력하라는 메시지가 표시되고 키 체인에 추가합니다.

그 후에는 다른 작업을 수행 할 필요가 없습니다. 여기에 약간 더 긴 설명이 있습니다 .


답변

키 체인에 암호 저장

키 체인에 기본 키의 암호를 저장하려면 터미널을 열고 다음을 실행하십시오.

ssh-add -K

그리고 다른 키 실행에 대한 암호를 저장하려면 다음을 수행하십시오.

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

암호를 입력하라는 메시지가 표시되면 입력하면됩니다.

ssh-add를 실행하거나 암호를 다시 입력 할 필요가 없습니다.

이 사이트에서 가져온 답변 :
http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html


답변

많은 탐구 끝에이 문제에 대한 답을 완전히 찾은 것 같습니다. 먼저 ssh-add -K ~/.ssh/your_key_here. 그러면 키 체인에 키가 추가됩니다. 어떤 곳에서는 이것으로 충분하다고 읽었지만 확실하지 않았습니다. 이것은 또한 Mac 전용이므로 다른 유닉스 버전에서이 작업을 수행해야하는 경우이 옵션이 반드시 필요하지는 않습니다.

좋은 측정 ~/.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 페이지 에 따르면 순서대로 시도합니다. 내가 나열한 처음 세 개의 기본 항목이 있어야하는지 확실하지 않지만 어쨌든 포함 시켰습니다.


답변

macOS 10.12.2부터 UseKeychain옵션을 사용할 수 있습니다 .
여기에서 자세한 내용을 읽 거나 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


답변

나는 Mac에 대한 경험이 많지 않으므로이 버전이 귀하에게 적합한 지 확실하지 않지만 http://www.phil.uu.nl/~xges/ssh/를 살펴보십시오 .

이 특정 앱이 작동하지 않으면 어쨌든 당신이 찾고있는 것입니다 ssh agent. 유닉스와 같은 상자에서는 전역 효과를 얻기 위해 전체 창 관리자를 시작하고 싶지만 osx에서는 가능하지 않을 수 있습니다.

추가 정보 : http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html


답변

sshkeychain 은 하나의 가능성입니다. 다음을 사용하여 macports와 함께 잘 설치됩니다.

sudo port install sshkeychain

키 체인을 사용하여 암호를 저장하고 로그인 세션을 시작할 때 간단히 실행할 수 있습니다 (처음 시작할 때 도크 아이콘 + “시작할 때 실행”에서 일반적인 오른쪽 클릭을 사용).

Apple의 svn은 키 체인을 사용하여 암호를 저장하지만 macports로 빌드 할 svn 바이너리 일 필요는 없습니다.


답변

다음을 실행하여 키 체인에 키를 추가합니다.

ssh-add -K ~/.ssh/id_rsa

~/.ssh/config키 체인에서 ssh-agent ( AddKeysToAgent yes옵션)로 키를 자동으로로드하고 키 체인 ( 옵션)에 암호를 저장 하도록 ssh 구성 ( ) 파일을 편집합니다 UseKeychain yes.

Host *
 AddKeysToAgent yes
 UseKeychain yes