Mit dem folgenden Setup benötigen Sie keinen Wrapper zum Aufrufen screen
. Darüber hinaus wird die Verwendung /tmp
(mit den daraus folgenden Sicherheitsrisiken) vermieden .
Stellen Sie sicher, dass Sie ein ~ / tmp-Verzeichnis haben:
mkdir ~/tmp
Fügen Sie
.screenrc
folgende Zeile hinzu:setenv SSH_AUTH_SOCK "$HOME/tmp/ssh-agent-screen"
- Dadurch wird sichergestellt, dass im Inneren
screen
,ssh
für die Steckdose sieht immer an der gleichen Stelle, anstatt einer sich ändernden Pfad. - Sie müssen die von
setenv
Ihnen verwendete Shell verwenden, da es sich um einen Bildschirm und nicht um einen Shell-Befehl handelt.
- Dadurch wird sichergestellt, dass im Inneren
Fügen Sie
.bash_profile
folgende Zeile hinzu:[ -n "$SSH_AUTH_SOCK" ] && [ "$SSH_AUTH_SOCK"!="$HOME/tmp/ssh-agent-screen" ] && ln -sf "$SSH_AUTH_SOCK" "$HOME/tmp/ssh-agent-screen"
- Dies wird vom festen Ort (wo es
ssh
aussieht) mit dem realen verbunden und muss nach dem Start erscheinenssh-agent
. - Die Verwendung
[ -n "$SSH_AUTH_SOCK" ]
verhindert ordnungsgemäß Fehler, wennSSH_AUTH_SOCK
nicht festgelegt ist. [ "$SSH_AUTH_SOCK"!="$HOME/tmp/ssh-agent-screen" ]
verhindert, dass Bildschirmsitzungen $ HOME / tmp / ssh-agent-screen mit sich selbst verknüpfen, wenn Bildschirmquellen verwendet werden.bash_profile
.
- Dies wird vom festen Ort (wo es
- Statt beginnt
ssh-agent
in.bash_profile
, können Sie mit Anschluss betrachtenssh -A
(Agenten - Forwarding zu verwenden und den Remote - Rechner benutzen, um Ihre Agenten machen).
Nach diesem Setup können Sie einfach den Standardbildschirmbefehl verwenden. Sie müssen lediglich vorhandene Sitzungen neu erstellen oder SSH_AUTH_SOCK manuell auf den festen Speicherort von Schritt 2 setzen.
Dank an diese Website für die Idee; Ich vermied es zu benutzen /tmp
. Diese Antwort ist ähnlich, verwendet jedoch zusätzliche Aliase.