Reimporte o certificado ssh após cada reinicialização para o GIT PUSH sobre o ssh funcionar

1

Eu estou usando o OSX 10.8 no meu macbook air, eu tenho git configurado para empurrar meu repositório para uma instância do EC2 via ssh. Tudo funciona bem com isso.

O único problema é que, após cada reinicialização, eu tenho que ssh-add certname.pem para permitir que o GIT se conecte à minha instância do ec2 por SSH.

Não tenho certeza se isso é apenas um problema de configuração negligenciado ou se há um motivo mais profundo para isso.

    
por gsueagle2008 23.08.2012 / 21:11

4 respostas

5

Você não pode usar

ssh-add -K [keyfile]

para adicionar a informação ao seu Keychain? Então ele estará lá da próxima vez que você iniciar um terminal enquanto estiver autenticado para esse chaveiro

    
por 24.08.2012 / 00:40
1

Por que não apenas configurar uma chave sem senha e ter git / ssh usar essa chave como seu SSH IdentityFile ?
(embora ssh-keygen peça uma senha quando você gerar uma chave, você pode simplesmente pressionar enter e a chave resultante não exigirá uma senha para usar).

Como você deseja adicionar novamente essa chave automaticamente, você está contornando qualquer segurança que uma chave lhe forneça, de modo que não há nenhuma diferença prática entre uma chave sem senha e outra que o agente importe automaticamente.

Obviamente, você não quer que essa chave seja capaz de fazer nada, exceto acessar seu git server (no caso de alguém colocar as mãos na metade privada da chave, você não quer que eles executem comandos como você!)

    
por 23.08.2012 / 23:25
1

O que você precisa é configurar script para adicionar o pem ao keychain do OSX adicione a linha abaixo ao seu ~ / .bash_profile (ou ~ / .zshrc se você estiver usando zsh)

ssh-add -K certname.pem

Confira este link para obter mais detalhes

    
por 24.08.2012 / 03:15
0

Hmmm. Esta é uma interação infeliz com o design ssh do EC2. Você é strongmente encorajado a usar arquivos pem para alcançar instâncias, e por isso você ssh -i <aws.pem> em todos os exemplos de conectividade deles ...

Que tal um alias do git? Eu não testei isso, já que não tenho uma instância do EC2 para empurrar, mas algo como:

git config alias.ec2push "!sh -c 'ssh-add certname.pem && git push $1 $2'"

Então você empurraria com:

git ec2push <repo> <branch>
    
por 24.08.2012 / 00:36