ssh ohne Passwort-Abfrage

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: Christian Weisgerber (naddy_at_mips.rhein-neckar.de)
Date: 18. Dec 1998


Auf dem gestrigen Treffen wurde ssh angesprochen, und wie man bewerk-
stelligen kann, dass beim Öffnen einer Verbindung zu einem anderen Host
kein Passwort eingeben werden muss.

Beispiel: bigeye.rhein-neckar.de -> spaghetti.unix-ag.uni-kl.de

Ich habe auf bigeye drei Dateien unter ~/.ssh/:
- config
- known_hosts
- random_seed

In config habe ich für jede Gegenstelle einen kleinen Eintrag, für
spaghetti diesen:

  Host spaghetti spaghetti.unix-ag.uni-kl.de
  HostName spaghetti.unix-ag.uni-kl.de
  Cipher blowfish
  Compression yes
  RhostsAuthentication no

"Host" definiert Aliasnamen, "Hostname" den kanonischen Namen. Man kann
da noch allerlei weitere Kleinigkeiten angeben.

In known_hosts stehen die *öffentlichen Schlüssel* der Gegenstellen. Der
öffentliche Schlüssel eines Hosts liegt in ssh_host_key.pub (Pfad je
nach System verschieden, Debian: /etc/ssh, Red Hat: /etc/ssh.d, FreeBSD:
/usr/local/etc, OpenBSD: /etc). Der Eintrag in known_hosts hat bei mir
immer den kanonischen Namen des Zielhosts, "HostName" aus config.

Auf der Gegenstelle, in diesem Fall spaghetti, habe ich wiederum den
öffentlichen Schlüssel von bigeye in ~/.ssh/known_hosts und einen
Eintrag

  bigeye.rhein-neckar.de naddy

im ~/.shosts.

Und das wars. Damit kann ich auf bigeye "ssh/scp/slogin spaghetti"
machen, ohne je nach einem Passwort gefragt zu werden. Für die Gegen-
richtung spaghetti->bigeye müsste man obige Konfiguration einfach
symmetrisch gestalten, d.h. entsprechendes config auf spaghetti und
.shosts auf bigeye. Das habe ich je nachdem mal unidirektional,
mal bidirektional auf einer ganzen Reihe Hosts hier, bei RNInet, und an
der Uni laufen.

In dieser ganzen Konfiguration taucht nirgendwo ein "Secret" auf, das
irgendwer stehlen und damit Zugang gewinnen könnte, es werden allein die
öffentlichen Schlüssel der beiden Rechner verwendet.

Möchte man zwei Systeme für alle Benutzer äquivalent machen, kann man
entsprechende Einträge auch in den hostweiten ssh_known_hosts und
ssh_config vornehmen, ~/.shosts entfällt dann.

Die Leute, die mir gestern gesagt haben, dass das unmöglich bzw.
unsicher sei, mögen mir erklären, warum.

-- 
Christian "naddy" Weisgerber                  naddy_at_mips.rhein-neckar.de
  See another pointless homepage at <URL:http://home.pages.de/~naddy/>.


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET