0 votos

Persistencia del agente ssh de Homebrew

He instalado OpenSSH desde Homebrew, porque necesito una versión más reciente para soportar llaves de hardware (Big Sur viene con 8.1; se necesita 8.2+).

Sin embargo, mi sistema insiste en mantener el valor por defecto ssh-agent almacenado en /usr/bin en lugar de la de /opt/homebrew/bin/ssh-agent . Puedo cambiar manualmente al agente Homebrew con eval (ssh-agent -c) pero esto no se mantiene en las nuevas sesiones de la terminal.

En caso de que importe, estoy usando iTerm y fish shell. No quiero simplemente poner eval (ssh-agent -c) en mi configuración de peces, porque entonces todavía tendría que ejecutar ssh-add -K cada vez que abro una nueva ventana de terminal con la intención de usar SSH. Con el agente incluido, sólo tengo que ejecutar ssh-add una vez, y persiste en todas las sesiones.

¿Cómo puedo conseguirlo?

1voto

sunaku Puntos 646

Estoy usando bash aquí (pero el procedimiento debe ser fácil de portar a fish, zsh u otro shell)

Ejecutar cat ~/.ssh/<yourkey>.pub que produce algo como esto

ssh-<krypto gibberish> <some string>

Copie un poco del <some string> parte y añadir a continuación:

KEYS=$(ssh-add -L)
if [[ "$KEYS" != *"<some string>"* ]]
then
    ssh-add -K .ssh/<yourkey> [optional other keys] >/dev/null
fi

La próxima vez que abra un terminal comprobará si su clave está cargada, y si no, la cargará.

Yo uso la solución anterior ya que tengo varias claves para el trabajo, etc, y eso jode la autocarga incorporada de ssh-agent también.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X