SSH-Agent forwarding in linux screen session

Man kann mittels Putty den SSH-Key über Agentforwarding in die Terminal Sitzung hineinreichen. Jedoch wird dieser Key mit Abschluss der Sitzung verworfen und bei Wiederverbindung nicht mehr in die Sitzung hineingereicht

Dauerhafte Lösung

Damit der Key – welcher im lokalen Client in die Screensitzung hineingereicht wird – auch in jedem einzelnen Bash-Fenster verfügbar ist, braucht man ein Skript, welches bei jeder Neuverbindung ausgeführt wird.

Dazu lege man zu allererst eine Datei an

touch ~/.ssh/rc

und fügt im Anschluss folgenden Inhalt hinzu:

#!/bin/bash

# Fix SSH auth socket location so agent forwarding works with screen.
if test "$SSH_AUTH_SOCK" ; then
    ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock
fi

# Taken from the sshd(8) manpage.
if read proto cookie && [ -n "$DISPLAY" ]; then
        if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
                # X11UseLocalhost=yes
                echo add unix:`echo $DISPLAY |
                    cut -c11-` $proto $cookie
        else
                # X11UseLocalhost=no
                echo add $DISPLAY $proto $cookie
        fi | xauth -q -
fi

Quellen:

http://stackoverflow.com/questions/17846529/could-not-open-a-connection-to-your-authentication-agent/4086756#4086756

https://stackoverflow.com/questions/21378569/how-to-auto-update-ssh-agent-environment-variables-when-attaching-to-existing-tm#23187030

 


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

Veröffentlicht von

Sebastian

Als Softwareschmied entwickelt Sebastian seit zwanzig Jahren Individualsoftware mit den Schwerpunkten PHP und MySQL auf diversen Linux-Systemen. Er hat eine pfiffige Frau sowie drei quirlige Söhne, fährt gerne Fahrrad und liebt handwerkliche Arbeiten die im häuslichen Umfeld so anfallen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere