Como faço para obter um SVN Checkout usando um par chave pública / privada?
Pergunta
Eu tenho que verificar algum código e executá-lo. Tenho a URL:
svn+ssh://myuser@www.myclient.com/home/svn/project/trunk
Eu tenho um arquivo com sua chave privada. O que eu faço para obter esse código?
Solução
A chave privada vai na máquina do cliente, muitas vezes apontado como ~/.ssh/id_rsa
, ~/.ssh/id_dsa
, ou ~/.ssh/identity
dependendo da versão SSH e o tipo de chave. No entanto, você pode apenas usar ssh -i path/to/private.key
.
Esta é presumindo que a chave pública correspondente existe no servidor em ~/.ssh/authorized_keys
, e que sua máquina local está executando o cliente OpenSSH. Se você estiver usando PuTTY no Windows, basta abrir o programa Pageant, e importar a chave através do GUI.
Outras dicas
Se você precisa usar uma chave personalizada apenas para svn, o seguinte irá funcionar:
SVN_SSH="ssh -i /path/to/key_name"
export SVN_SSH
svn commands
http://labs.kortina.net/ 2010/01/30 / svn-checkout-com-chave privada-over-ssh /
Adicione esta entrada para a sua ~ / .ssh / config arquivo:
Host YOUR_SERVER
IdentityFile YOUR_PRIVATE_KEY_PATH # (ex: ~/.ssh/rsa)
User USER_NAME
Para obter mais opções, veja a página man ssh_config .
apenas o uso de comando ssh-add (ele irá pedir a sua a sua senha, esta é a senha que você usou quando criou este par de chaves público-privada).
ssh-add PATH_TO_YOUR_PRIVATE_JEY
e.g. ssh-add ~/.ssh/myPrivateKey.key
verificar que você adicionou a chave corretamente, fazendo isso
ssh-add -l
Isso irá listar todos os arquivos de identidade está usando.
Aqui estão os passos que eu usei para ligar a partir da linha de comando Mac OS X para o meu servidor via svn + ssh:
No Servidor:
ssh-keygen -b 1024 -t dsa -f mykey (creates mykey and mkey.pub files)
Copiar conteúdo de mykey.pub para ~ / .ssh / authorized_keys (criar authorized_keys arquivo se ele não existe)
download mkey para sua máquina local e execute:
chmod 600 mkey (the next step won't run otherwise)
svn-add mkey (enter your passphrase)
check-out do seu servidor svn com ssh:
svn co svn+ssh://user@server.com/repos/path
mkey Excluir e mkey.pub a partir do servidor
Além das respostas duas capturas de tela do Eclipse 3.7 com subversivas.
Digite o nome do usuário! (I tenha esquecido isso antes de tomar o tiro de tela). não insira uma senha.
Digite a senha chave se você chave privada é frase secreta protegida.
Uma imagem vale mais que mil palavras.
Adicionar a chave privada para a pasta ~/.ssh/
e depois executar ssh-agent $SHELL; ssh-add;
, e então o svn co
de que URL deve funcionar.
SVN_SSH="ssh -i /xxx/xxx/id_rsa" svn checkout svn+ssh://username@svn.xxx.com/data