Seite wählen

SSH-Agent Forward und Screen

von | Apr 29, 2014 | NETWAYS, Linux, Network

Ich glaube, dass wir Screen und SSH Agent Forwarding nicht weiter im Detail selbst besprechen müssen, aber mit diesem Post möchten wir auf ein Problem hinweisen, welches beim Einsatz von beidem zusammen aufkommt. Hintergrund ist folgender: SSH legt beim Connect mehrere ENV-Variablen an, welche auch den AUTH_SOCK enthalten. Dies ist ein Socket, der für die Kommunikation mit dem lokalen Agent verantwortlich ist und somit die Weiterleitung der Keys ermöglicht.
Unglücklicherweise werden diese EVN Informationen nur beim Start der Screen Session eingelesen, d.h. wenn man sich detached und dann mit einer neuen Verbindung wieder einhängt, enthält die Variable immer noch den alten Pfad, welche dann nicht mehr aktuell ist ( z.B. /tmp/ssh-hYQhk6Nrhq/agent.32462 ). Somit würde eine Verbindung innerhalb vom Screen zu einem Server dann keine Key Authentifizierung mehr durchführen und ein Passwort verlangen, was im ersten Moment dann sehr verwirrend ist.
Man kann sich aber mit einem kleinen Tricken helfen, welcher diesen Socket auf einen generischen Pfad legt. Dazu erstellt man sich eine SSH-RC Datei, die bei jeder Verbindung ausgeführt wird. ( SSH1 ~/.ssh/.rc | SSH2 ~/.ssh/rc )

#!/bin/bash
if test "$SSH_AUTH_SOCK" ; then
    ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock
fi

Somit wird ein Link zum jeweiligen Pfad des Socket erstellt, welcher bei jeder Anmeldung dann auch überschrieben wird. Schon haben wir einen festen Namen. Nun geht es nur noch darum, diesen Pfad auch im Screen mit anzuziehen. Dazu erstellt/ändert man nur die .screenrc im Home-Verzeichnis wie folgt:

setenv SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock

Als letztes muss die Screen Sitzung nur noch einmal neu gestartet werden, damit die Einstellung greift. Und schon wird bei jeder Neueinwahl auf den Server und ins Screen die korrekte Verbindung zum lokalen SSH Agent hergestellt.

0 Kommentare

Trackbacks/Pingbacks

  1. Weekly Snap: Screen & SSH, Foreman & Parameterized Classes › NETWAYS Blog - […] Ronny began the week by sharing his trick to get Screen to work with SSH agent forwarding properly. […]

Einen Kommentar abschicken

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

Mehr Beiträge zum Thema NETWAYS | Linux | Network

OSMC 2023 | Will ChatGPT Take Over My Job?

One of the talks at OSMC 2023 was "Will ChatGPT take over my job?" by Philipp Krenn. It explored the changing role of artificial intelligence in our lives, raising important questions about its use in software development.   The Rise of AI in Software...

Monthly Snap Februar 2024

Der Februar war ein ereignisreicher Monat bei NETWAYS! Neben dem normalen Alltag gab es auch unser Jahresmeeting, ein Spieleabend im Büro, und viele Kollegen waren auf Konferenzen und der Jobmesse in Nürnberg unterwegs. Und natürlich wurden viele Blogposts zu...