Re: screen und SSH_AUTH_SOCK



Hi,

Peter Mairhofer <63832452@xxxxxxx> wrote:
Beende ich die Verbindung und starte eine neue, so ist der
Inhalt von SSH_AUTH_SOCK ein anderer. Führe ich nun "screen -r"
aus, ist die Variable SSH_AUTH_SOCK *innerhalb* der
Screensession eine falsche und Agentforwarding funktioniert
nicht mehr.

Gibt es eine Möglichkeit dieses Problem zu umgehen?

Für einen lokal laufenden(*) screen habe ich dazu ein ausführbares
Skript namens /usr/local/bin/agent-shell.sh:

-- schnipp --
#!/bin/sh

#
# Zu benutzendes ssh-agent-Kommando; hier zur Sicherheit mit einem
# Timeout von 60 Minuten
#
SSH_AGENT='ssh-agent -t 3600'

#
# Die eigentliche Shell des Benutzers ermitteln und als $SHELL
# exportieren
#
SHELL="`getent passwd \"$USER\" | cut -d : -f 7`"
export SHELL

#
# ssh-agent mit der eigentlichen Shell starten
#
exec $SSH_AGENT -- $SHELL

# EOF
-- schnapp --

In $HOME/.screenrc steht dann

-- schnipp --
shell /usr/local/bin/agent-shell.sh
-- schnapp --

Im Prinzip bekommt damit jedes screen-Fenster einen eigenen
SSH-Agent, d.h. nach dem ersten Start und nach jedem Öffnen eines
neuen Fensters musst Du zunächst mittels "ssh-add" die gewünschten
Schlüssel hinzufügen. Danach bleiben sie aber erhalten, bis Du das
jeweilige screen-Fenster wieder beendest / schließt.

Wenn Du mit dem Risiko leben kannst, dass diese SSH-Agenten dann
weiterlaufen, auch wenn Du den screen abgehängt hast, wäre das
eine Lösung. Als Sicherheit wird zumindest der Agent mit der
Timeout-Option gestartet, d.h. die gespeicherten Schlüssel werden
nach der angegebenen Zeit wieder entfernt.


Ciao

Thomas


(*) "Lokal laufend" in dem Sinne, als dass er auf dem gleichen
Rechner läuft, auf dem auch die benötigten privaten
SSH-Schlüssel liegen.
.



Relevant Pages

  • Re: ssh-agent stacks up in Linux
    ... Running ssh-agent. ... Having your login shell run a series of shell commands that are ... with the agent. ... > abandon the session. ...
    (comp.security.ssh)
  • Re: Unwanted autostarted ssh-agent - 5.3p1 behavior change from 5.2p1?
    ... ssh-agent is in the parent process of your X session (which is mostly ... you make the agent available to all shell sessions started ... keychain with KDE" if you're a KDE user. ...
    (SSH)
  • ssh-add OpenSSHPrivateKey at login
    ... OK my ssh going now (with proxy too). ... BTW to manage these kind of login i use a bash shell and the ssh-agent ...
    (comp.security.ssh)
  • Re: ssh-agent statup problems
    ... chmod u+x out.sh ... Those commands are run in another shell, so they're set in that shell, ... much more typical invocation of ssh-agent would be: ...
    (comp.unix.misc)