close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 13 years ago

Closed 13 years ago

#1059 closed Defekt (bleibt so)

kein ssh-Login auf LtspClients

Reported by: Rüdiger Kupper Owned by: Rüdiger Kupper
Priority: bald erledigen Milestone: Schuljahr 2012/13
Component: Server: Linux Terminal Server (LTSP) Severity: beeinträchtigt keinen Unterricht
Keywords: Cc: bau

Description

Derzeit gibt es keinen Zugang über ssh auf laufende Clients. Unser Skript zum Herunterfahren von Clients vom paedml aus funktioniert daher nicht.

Auf den LtspClients laufen zwar wie gewollt ssh-Server, man kann sich aber nicht einloggen, aus zwei Gründen:

  1. die Datei /root/.ssh/authorized_keys wird, wie oben beschrieben, nicht mehr in die Clientumgebung kopiert. Daher ist passwortloser Login als root nicht möglich
  2. ein noch grundlegenderes Problem: zu den Dateien in ltsp-update-image.excludes zählen auch /etc/ssh/ssh_host_*_key. Die Clients haben also keinen ssh_host_key. Damit weigert sich der ssh-Deamon grundsätzlich, eine Verbindung herzustellen.

Irgend etwas müssen, sich die LTSP-Leute dabei gedacht haben, die Host-Keys explizit auszusparen. Vermutlich ist ihnen aufgegangen, dass nicht sämtliche Clients eines Servers den selben Host-Key haben sollten. Dem wäre aber so, wenn er in der Umgebung verteilt wird. Wie man nun aber auf den Clients einen ssh-Zugang anlegen soll, ist mir momentan schleierhaft.

Wie Du sagtest: es wird nicht langweilig!

Change History (3)

comment:1 by Rüdiger Kupper, 13 years ago

Status: new → accepted

comment:2 by Rüdiger Kupper, 13 years ago

Das hätten den Vorteil auch gleich unser Problem zu lösen, dass beliebige Clients mit einem Server verbunden sein könnten. Es würden dann immer gerade die Clients herunterfahren, die mit dem jeweiligen Server verbunden sind.

comment:3 by Rüdiger Kupper, 13 years ago

Resolution: → bleibt so
Status: accepted → closed

Ein entsprechender Mechanismus ist jetzt implementiert:
Auf den LtspServern horcht auf Port 2000 ein Dienst, der auf Anfrage den Inhalt der Datei /etc/ltsp-message zurückschickt. Alle Clients fragen jede Minute einmal dort an. Erhalten sie den String "shutdown" zurück, fahren sie sofort und ohne Nachfrage herunter. Erhalten sie "restart", starten sie sofort neu.

Auf diese Weise kann man alle Clients, die vom jeweiligen Server gebootet haben, innerhalb einer Minute herunterfahren. Das hat den großen Vorteil, dass keine Liste geführt werden muss, welcher Client von wo gebootet hat.

/etc/ltsp-message sollte besser nicht von Hand beschrieben werden. Stattdessen habe ich das Skript "shutdownclients --mine" so angepasst, dass es das übernimmt. Das wird auch automatisch beim Reboot ausgeführt.
Hinweis: Derzeit ist ein Aufruf von "shutdownclients" ohne die Option "--mine" nicht möglich. [TODO]

Der ssh-Login auf den Clients bleibt damit, wie von den Ltsp-Entwicklern vorgesehen, deaktiviert. Das ssh-Paket werde ich aus den Client-Umgebungen entfernen.

Note: See TracTickets for help on using tickets.