Configurar claves de grupo ssh sin afectar ~/.ssh/config en Linux

Configurar claves de grupo ssh sin afectar ~/.ssh/config en Linux

Tengo que configurar una clave de grupo ssh utilizada para publicar en un repositorio git remoto.

Como git (así como supongo que muchos otros programas) no permite definir un retraso de bandera, ssh -ila información sobre qué clave se utilizará proviene de los valores predeterminados o de lo que está definido en~/.ssh/config

Esto requeriría una nueva tarea de administración para los usuarios que necesitan tener esta capacidad (es decir, agregar las entradas adecuadas en su ~/.ssh/configarchivo).

¿Hay alguna manera de que pueda ahorrar este esfuerzo? No he podido localizar ninguna variable de entorno que OpenSSH pudiera leer, ya que esa sería una solución (creando un script envolvente que haga lo que se requiere).

Respuesta1

Entonces la respuesta es la siguiente (gracias tink):

Usar un agente ssh para mantener la clave siempre funcionará. Para eso, podrías encapsular la llamada en un script:

#!/bin/bash
key=$1
[[ "$SSH_AGENT_PID" ]] || eval $(ssh-agent)
ssh-add $key

#...the rest of the script...

En el caso particular de git, hay una GIT_SSHvariable de entorno que apunta al comando que se llamará en lugar de ssh. Entonces es posible emitir sshcon la -ibandera.

Solo para advertirle que esto es una prueba de concepto, debe asegurarse de que el entorno no se vea afectado después de cargar el script (es decir, si había un agente allí y la clave no estaba cargada, debe eliminar la clave; si no había ningún agente). presente, eliminar el agente, etc.)

información relacionada