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
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.
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 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ê!)
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
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>
Tags ssh git amazon-ec2