[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Debian]: Re: ssh in Hamm (Erfahrungsbericht & Fragen)



Ernst Sonnleitner <ernst_sonnleitner@gmx.de> wrote:

> Wo sollte ssh-agent in xdm gestartet werden?

Kann ich Dir leider auch nicht sagen, aber ich würde den als Wrapper
für den Windowmanager starten, also im ~/.xsession:
ssh-agent fvwm2

Wichtig ist halt, daß alle anschließend gestarteten Shells etc. die
ssh verwenden wollen, die Environmentvariablen des ssh-agent gesetzt
bekommen, um auf letzten zugreifen zu können. Bei startx habe ich den
ssh-agent somit als Wrapper für xinit eingebaut, aber wenn alle xterms 
etc. irgendwie vom Windowmanager gestartet werden, sollte es auch
reichen, den ssh-agent als Wrapper für den Windowmanager zu starten.

> Sollte man ssh-add automatisieren, d.h. passphrase aus einer Datei
> einlesen??

Nein, das ist Unfug. Wenn Du Deinen Key offen rumliegen lassen willst, 
dann konfigurier einfach eine leere Passphrase, aber das bedeutet dann 
natürlich auch, daß jeder, der Deinen Secret-Key lesen kann (z.B. Dein 
Admin) sich mit diesem Key auf andere Rechner einloggen kann...

> Was macht eigentlich ssh-askpass? Bei mir erscheint ein Fenster und
> wenn ich meine passphrase eingebe, Enter drücke schreibt er meine
> Eingabe im Klartext ins xterm.

Genau das ist es, was ssh-askpass macht. Ich rufe das wie folgt auf:
ssh-askpass | ssh-add -p >/dev/null 2>&1

Damit wird die Passphrase eingelesen und dann mittels ssh-add dem
ssh-agent übergeben. Obiges sollte möglichst als erstes beim Starten
von X ausgeführt werden (nach dem Start von ssh-agent natürlich). Dann 
ist die Passphrase dem ssh-agent bekannt und somit können alle
ssh-Sessions auf die Passphrase zugreifen.

> Pakete mit dpkg installiert,bei der configuration wird ein Hostkey
> erzeugt. Dazu muß man keine passphrase angeben.

Korrekt.

> Jetzt kann man schon mit ssh -l username remotehost eine gesicherte
> Verbindung aufbauen. Man wird dabei beim ersten mal gefragt: Host
> key not found from the list of known hosts. Are you sure you want to
> continue connecting (yes/no)?

Das ist natürlich ein wenig unsicher, denn wenn der Zielrechner nicht
der Zielrechner ist (z.B. weil jemand im DNS rumgefuscht hat), dann
loggst Du Dich u.U. auf einem Rechner ein, der einem Hacker gehört.
Sinnvoll ist es daher, als Netzwerk-Admin die Keys aller Hosts zu
sammeln (dafür gibt es das Skript make-ssh-known-hosts) und auf jedem
Rechner zu speichern.

> 1.ssh-keygen 
> # Damit wird das Verzeichnis ~.ssh/	angelegt und 2 Schlüssel
> # erzeugt. Dabei wird man nach einer passphrase gefragt. 

Es wird ein Key-Paar erstellt, das aus einem öffentlichen und einem
privaten Key besteht. Letzterer wird mit der Passphrase geschützt.

> 2.scp .ssh/identity.pub remotehost:~.ssh/authorized_keys

Das kannst Du natürlich nur einmal machen. Beim nächsten Mal mußt Du
an authorized_keys _anhängen_.

> 3. ssh-agent $SHELL
> # Dieser Dämon ist der authentication server. Hier hab ich lange nach
> # einem geeigneten Startpunkt gesucht. Ich habe schließlich in
> # /etc/X11/Xsession einen xterm aufgemacht: 
> # ssh-agent xterm -ls -T SSH -geometry 80x24+496+0 &
> # Ich habe eigentlich die ganze xdm Umgebung erfassen wollen,
> # leider hab ich kein passendes Beispiel dazu gefunden, und meine
> # Versuche haben immer die fehlermeldung "Could not connect to
> # authentication server." gebracht. 
> # Ich suche immer noch nach einer für Debian angebrachten Stelle

Wie schon oben gesagt, empfehle ich, das im ~/.xsession als Wrapper
für den Windowmanager zu starten. Ich sehe gerade in
/etc/X11/Xsession, daß das in /etc/X11/Xsession schon gemacht wird und 
zwar so:

if [ -x $sshagent ]; then
  eval `$sshagent -s`
fi

Damit wird der ssh-agent also gestartet und durch das eval werden die
Environment-Variablen an Xsession selber übergeben und damit an alle
von da aus gestarteten Prozesse übergeben.

> 4. ssh-add 
> # In dem xterm (ssh-agent xterm -ls -T SSH -geometry 80x24+496+0 &)
> # In einem kindprozess von ssh-agent ruft man ssh-add auf, um dem
> # authentication server seine passphrase bekanntzugeben.
> # Hier bin ich mir nicht sicher ob ich nach einen Weg suchen soll das
> # per batch einzurichten. Sicherheit und so. Wie haltet ihr es ??

Genau dafür ist ssh-askpass da.

> Die Documentation unter /usr/doc/ssh ist für einen ssh-neuuser
> schlecht. Und die man pages haben mich beim Verständnis für die
> Konfiguration auch nicht viel weiter gebracht(ich hab sie mir ein
> paar mal durchgelesen). Die Hamm CD's von JFLehmann haben auch keine
> HOWTO's,FAQ's zu ssh. Im Internet habe ich dann aber ein paar
> englische HOWTO's,FAQ's gefunden.

Nachdem Du jetzt hoffentlich alles verstanden hast (eigentlich hattest 
Du das ja schon alles verstanden), kannst Du ja eine Einsteiger-Doku
schreiben. Ich habe auch ziemlich kämpfen müssen, bis ich das alles
verstanden hatte, insbesondere der ssh-agent kam mir lange spanisch
vor, bevor ich den begriffen habe...

Tschoeeee

        Roland

-- 
 * roland@spinnaker.de * http://www.spinnaker.de/ *
 PGP: 1024/DD08DD6D   2D E7 CC DE D5 8D 78 BE  3C A0 A4 F1 4B 09 CE AF
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     674


Reply to: