Esta pagina se ve mejor con JavaScript habilitado

Iniciar ssh-agent en el arranque de las X

 ·  🎃 kr0m

Tener la clave ssh protegida por passphrase está muy bien, en caso de robo el atacante tendrá que superar un segundo obstáculo, pero también es muy engorroso tener que meter la passphrase cada vez que queremos conectar a algún servidor, para ello tenemos ssh-agent que nos preguntará el password una vez y lo cacheará. De este modo tendremos la key protegida y nuestro trabajo como sysadmin seguirá siendo igual de ágil.

Para iniciar ssh-agent en el arranque de las X es tan sencillo como meter un eval ssh-agent y un ssh-add antes de iniciar el gestor de ventanas, según el sistema Unix que utilicemos tendremos que hacerlo de un modo u otro.


FreeBSD:

pkg install OpenSSH-askpass
vi .xinitrc
setxkbmap es  
xrdb .Xresources  
xbindkeys &  
shutter --min_at_startup &  
export SSH_ASKPASS=/usr/local/bin/x11-ssh-askpass ;export SSH_ASKPASS  
eval `ssh-agent -s`  
ssh-add &  
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session awesome

Linux:

emerge -av net-misc/x11-ssh-askpass
vi .xinitrc
setxkbmap es  
xrdb /home/kr0m/.Xresources  
eval `/usr/bin/ssh-agent`  
/usr/bin/ssh-add < /dev/null  
exec dbus-launch --sh-syntax --exit-with-session awesome

Si por alguna razón matamos el ssh-agent y no queremos rearrancar las X podemos arrnacarlo manualmente:

eval ` ssh-agent -s`
ssh-add

Pero debemos añadir la siguiente configuración en el .bashrc para que compruebe si existe un agent previo:

vi .bashrc

#
# ssh-agent configuration
#
if [ ! -z "$(pgrep ssh-agent)" ]; then
    export SSH_AGENT_PID=$(pgrep ssh-agent)
    export SSH_AUTH_SOCK=$(find /tmp/ssh-* -name agent.*)
fi
Si te ha gustado el artículo puedes invitarme a un RedBull aquí