Vuelva a importar el certificado ssh después de cada reinicio para que GIT PUSH over ssh funcione

Vuelva a importar el certificado ssh después de cada reinicio para que GIT PUSH over ssh funcione

Estoy usando OSX 10.8 en mi macbook air, tengo configurado git para enviar mi repositorio a una instancia EC2 a través de ssh. Todo funciona bien con eso.

El único problema es que después de cada reinicio, tengo que hacerlo ssh-add certname.pempara permitir que GIT se conecte a mi instancia ec2 a través de SSH.

No estoy seguro de si se trata simplemente de un problema de configuración que se pasa por alto o si hay una razón más profunda para ello.

Respuesta1

¿No puedes usar

ssh-add -K [keyfile]

para agregar la información a tu llavero? Luego estará allí la próxima vez que inicie una terminal mientras esté autenticado en ese llavero.

Respuesta2

¿Por qué no simplemente configurar una clave sin contraseña yhaga que git/ssh use esa clave como su SSHIdentityFile?
(aunque ssh-keygenle solicita una frase de contraseña cuando genera una clave que puede simplemente presionar entery la clave resultante no requerirá una frase de contraseña para su uso).

Dado que desea volver a agregar esta clave automáticamente, está eludiendo cualquier seguridad que el uso de una clave le brindaría de todos modos, por lo que no existe una diferencia práctica entre una clave sin contraseña y una que el agente importa automáticamente.


Obviamente, no desea que esta clave pueda hacer nada excepto acceder a su gitservidor (en caso de que alguien tenga en sus manos la mitad privada de la clave, ¡no querrá que ejecute comandos como usted!)

Respuesta3

Lo que necesita es configurar un script para agregar el pem al llavero de OSX y agregar la siguiente línea a su ~/.bash_profile (o ~/.zshrc si está usando zsh).

ssh-add -K certname.pem

Mira estohttps://superuser.com/a/409316/41202para más detalles

Respuesta4

Mmm. Esta es una interacción desafortunada con el diseño ssh de EC2. Se recomienda encarecidamente utilizar archivos pem para llegar a las instancias, de ahí que ssh -i <aws.pem>en todos sus ejemplos de conectividad...

¿Qué tal un alias de git? No he probado esto, ya que no tengo una instancia EC2 para enviar, pero algo como:

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

Entonces presionarías con:

git ec2push <repo> <branch>

información relacionada