Como faço para obter um SVN Checkout usando um par chave pública / privada?

StackOverflow https://stackoverflow.com/questions/192134

  •  08-07-2019
  •  | 
  •  

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?

Foi útil?

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.


Configurações gerais
Digite o nome do usuário! (I tenha esquecido isso antes de tomar o tiro de tela). não insira uma senha.


Configurações SSH 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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top