Un ssh-askpass minimalista en GTK4 y Zig, sin X11

Fuentes: A GTK4 ssh-askpass in Zig

Este artículo describe la creación de un programa ssh-askpass propio escrito en Zig 0.16 con enlaces hechos a mano sobre GTK4, pensado para entornos Wayland sin X11. El autor, usuario de Gentoo endurecido y Sway en un Star Labs StarBook Mk VI, necesitaba una utilidad capaz de solicitar la frase de paso de una clave ED25519 cuando una herramienta como el toolchain de Go invoca SSH sin terminal asociada, por ejemplo al clonar módulos privados durante un build sin TTY. OpenSSH recurre en esos casos al binario indicado por SSH_ASKPASS.

El problema es que las cinco opciones disponibles en el árbol de Portage resultan poco prácticas. kde-plasma/ksshaskpass arrastra todo el stack de KDE Frameworks (kwallet, kservice, kconfig, ki18n, etc.). lxqt-base/lxqt-openssh-askpass exige X11 y genera un conflicto de slot con dev-qt/qtbase, que en el sistema está compilado con -X. gnome-ssh-askpass y net-misc/ssh-askpass-fullscreen también dependen de X11, y x11-ssh-askpass es incompatible de partida con un sistema sin servidor X.

La solución adoptada es un binario diminuto en Zig con bindings GTK4 escritos a mano, que evita cualquier dependencia de X11, ocupa apenas unos pocos kibibytes y se compila contra el Wayland nativo. Su caso de uso principal es desatascar flujos donde una build automatizada pide una passphrase de SSH fuera de una terminal interactiva, manteniendo el sistema gráfico limpio de stacks adicionales.