Eu sei que a resposta está aí, mas sou muito burro do Unix e provavelmente não reconheceria a solução se ela me atingisse na cara.
Estou em um Mac, conectando-me a um servidor SVN por meio de encapsulamento SSH. Tenho que fazer isso ssh-add privateKey.txt
sempre que quiser me conectar ao servidor SVN (tanto o Cornerstone quanto o Xcode estão se conectando ao SVN).
Existe uma maneira de "salvar" a chave em algum lugar para que eu não tenha que fazer isso todas as vezes? Adicionar ao meu chaveiro? Algum arquivo de configuração? Iniciar o script?
ssh-add
não aguento um-K
argumento.Armazenamento de frases-chave no chaveiro
Para armazenar a senha de sua chave padrão nas Chaves, abra um Terminal e execute:
E para armazenar a senha longa para uma execução de chave diferente:
Quando for solicitada sua senha, digite-a e pronto.
Você nunca precisará executar ssh-add nem inserir sua senha novamente.
Resposta retirada deste site: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
fonte
Depois de muita exploração, acho que encontrei a resposta para esse problema completamente. Primeiro, certifique-se de fazer
ssh-add -K ~/.ssh/your_key_here
. Isso adiciona a chave ao seu chaveiro. Em alguns lugares, li que isso é suficiente, mas não tinha certeza. Isso também é específico do Mac, portanto, se você precisar fazer isso em outro tipo de unix, não terá essa opção necessariamente.Para garantir, editei o
~/.ssh/config
arquivo (talvez você precise criá-lo) para apontar para todas as chaves que possuo. O meu tem o seguinte:De acordo com a página de manual do ssh_config, ele os tentará em ordem. Não tenho certeza se os três primeiros padrões que listei precisam estar lá, mas eu os incluí mesmo assim.
fonte
-K
sinalização no mac os x parassh-add
-K
bandeira no OS X parassh-add
. Além disso, esta deve ser a resposta selecionada./usr/bin/ssh-add
o homebrew fornecido/usr/local/bin/ssh-add
que não oferece a opção -K.~/.ssh/config
estiver lá, não há necessidade de executar ossh-add
comando todas as vezes após reiniciar a máquina.Desde o macOS 10.12.2, você pode usar essa
UseKeychain
opção. Leia mais aqui ou dê uma olhadaman ssh_config
.Então, faça o seguinte:
echo "UseKeychain yes" >> ~/.ssh/config
fonte
Não tenho muita experiência com macs, então não tenho certeza se esta versão é adequada para você, mas dê uma olhada em http://www.phil.uu.nl/~xges/ssh/
Se este aplicativo em particular não funcionar, é isso que você está procurando de qualquer maneira -
ssh agent
. Em caixas do tipo unix, você gostaria de iniciar todo o seu gerenciador de janelas por meio disso, para obter o efeito global, mas pode não ser possível no osx.Mais algumas informações: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
fonte
sshkeychain é uma possibilidade. instala bem com macports usando:
ele usa as chaves para armazenar senhas e você pode simplesmente iniciá-lo na inicialização de sua sessão de login (usando na primeira inicialização o clique com o botão direito no ícone do dock + "iniciar na inicialização")
Observe que o svn da Apple usa chaves para armazenar senhas, mas não necessariamente o binário svn que você construiria com macports.
fonte
Adicione sua chave ao chaveiro executando:
e edite seu arquivo ssh config (
~/.ssh/config
) para carregar automaticamente as chaves do keychain para o ssh-agent (AddKeysToAgent yes
opção) e armazenar as senhas no keychain (UseKeychain yes
opção):fonte