1 votos

¿Por qué ha desaparecido mi agente SSH tras actualizar a MacOS Ventura?

Recientemente actualicé mi Macbook a MacOS Ventura 13.1, y desde entonces he tenido problemas para usar SSH. Esto siempre ha tipo de "sólo funcionaba", siempre he sido capaz de simplemente ssh a un host y una ventana emergente me pediría que desbloqueara la clave correspondiente. Nunca lo he pensado mucho.

Sin embargo, desde que actualicé, ya no parece haber nada que sustituya a un agente SSH:

$ ssh-add -L
Error connecting to agent: No such file or directory

$ env | grep -i ssh
SSH_AUTH_SOCK=/gcr/ssh

$ file /gcr/ssh
/gcr/ssh: cannot open `/gcr/ssh' (No such file or directory)

Actualmente estoy solucionando esto lanzando ssh-agent en el shell actual:

$ eval "$(ssh-agent)"
$ ssh-add ~/.ssh/...
$ ssh my-target-host

He buscado esto en Google hasta la saciedad, pero realmente parece que soy la única persona en el mundo con este problema.

Como no sé realmente cómo funcionaba el agente SSH en primer lugar, no tengo ni idea de por dónde empezar a buscar. Sospecho que era el llavero de MacOS?

¿Cómo funcionaba en un principio y por qué dejó de funcionar?

2voto

Konrad Garus Puntos 166

De acuerdo, resulta que hay una buena razón por la que no pude buscar este tema en Google. Fue totalmente autoinfligido. Sincronizo mi .zprofile y .zshrc en todos mis ordenadores, todos con Linux excepto este Macbook.

Hace poco (más o menos cuando actualicé el Macbook a Ventura) empecé a usar el agente SSH Llavero de Gnome en mis máquinas Linux. Eso implicó añadir esta línea a .zprofile :

export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"

Esto resolvió /gcr/ssh en el Macbook y sobrescribió el sistema operativo proporcionado por SSH_AUTH_SOCK variable, que debe ser algo como:

SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.XJ4sRgc4gr/Listeners

Moví esta línea a un bloque específico de Linux como éste, lo que solucionó el problema:

# Very Linux specific stuff here
if [[ "$(uname)" == "Linux" ]]; then
    # ...

    # Gnome Keyring SSH agent
    export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gcr/ssh
fi

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