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