Aus dem Code unter https://github.com/libssh2/libssh2/blob/master/src/agent.c
path = getenv("SSH_AUTH_SOCK"); if (!path) return _libssh2_error(agent->session, LIBSSH2_ERROR_BAD_USE, "no auth sock variable");
Dieser Fehler tritt also offensichtlich auf, weil die Umgebungsvariable nicht korrekt auf den Agent-Socket verweist. Lassen Sie Ihren Code getenv("SSH_AUTH_SOCK")
im Fehlerfall den Wert von drucken, um dies zu bestätigen.