Administratorhandbuch:SSHClient

Aus Delixs
Version vom 28. Juni 2005, 19:51 Uhr von Schoffer (Diskussion | Beiträge) (Artikel getrennt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


ZumTest Nach Meinung des Autors ist diese Seite fertig. Es wäre schön, wenn ausgiebige Tests durch viele Nutzer eventuell noch vorhandene Fehler beseitigen helfen.


SSH-Clients

Die Kommunikation zwischen Client und Server läuft über Programme ab, die entweder bereits zum Betriebssystem der Clients dazugehören oder aber kostenfrei aus dem Internet geladen werden können. Im folgenden Abschnitt beschreibe ich die Kontaktaufnahme über SSH für Clients mit Windows, mit Mac OS X und mit Linux.

Ein Benutzer, der sich über SSH anmeldet, erhält genau die Konsole, die er auch bei direkter Anmeldung am Server erhalten würde (siehe: Die Shells im Installationshandbuch)

Windows

Um unter Windows eine verschlüsselte Verbindung aufzubauen, benötigt man ein spezielles Programm, das nicht beim Betriebssystem dabei ist. Eine sehr gut geeignete Alternativen dafür ist PuTTY, das bei der Installation des Arktur-Schulservers auf die Festplatte kopiert wird und im Laufwerk P: unter software zu finden ist. Es besteht nur aus einer einzigen .EXE-Datei. Es kann eine angepasste Konfiguration in seinem Installationsverzeichnis speichern. Alternativ können Sie das Programm PuTTY auch direkt von der Internetseite laden http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Als "Host Name" wählen Sie Arktur, als Protokoll SSH statt Telnet. Der Port wird automatisch auf 22 umgestellt. An den weiteren Einstellungen brauchen Sie in der Regel nichts zu ändern. Mit dem Button "Open" wird die Verbindung aufgebaut.

Windows - Login als root mit PuTTY
Abbildung: Windows - Login als root mit PuTTY

Sie können mit SSH fast wie an der Konsole arbeiten. Probleme kann es bei der Übertragung von Umlauten oder den Funktionstasten F1-F12 geben. Zudem haben Sie nur eine Konsole vor sich, können also nicht zwischen verschiedene Konsolen wechseln (oder sie bauen mehrere Verbindungen zugleich auf). Ein weiteres kleines Problem stellen die grafisch orientierten Oberflächen dar, wie sie die Menü-Oberfläche von sysadm darstellt. Dennoch bleiben die Programme mittels PuTTY noch gut bedienbar. SSH bietet wesentliche Vorteile gegenüber Telnet, so dass Sie nur auf diese gesicherte Verbindung setzen sollten.

Windows - Login als sysadm mit PuTTY
Abbildung: Windows - Login als sysadm mit PuTTY

Mac OS X

Unter Mac OS X benötigt man für den Zugang über SSH kein zusätzliches Programm. Bereits im Betriebssystem vorhanden ist das Dienstprogramm Terminal, das für alle Arbeiten "unter der Haube" von Mac OS X dient, aber auch für Serververbindungen geeignet ist. Man arbeitet mit dem Programm fast wie an der Konsole, muss allerdings mehrere Terminalfenster öffnen, um zwischen unterschiedlichen Konsolen wechseln zu können.

Mac OS X - Terminal
Abbildung: Mac OS X - Terminal
Mac OS X - Serveranmeldung im Terminal
Abbildung: Mac OS X - Serveranmeldung im Terminal
Mac OS X - Servermenü sysadm im Terminal
Abbildung: Mac OS X - Administrationsmenü sysadm im Terminal


Linux

Auch für Linux ist kein zusätzliches Programm notwendig. Die Systemkonsole ermöglicht auch die Kontaktaufnahme zu entfernten Systemen, wie es der Arktur-Schulserver darstellt. Bildschirmfotos dazu sehen fast identisch zu denen von Mac OS X aus.

Linux - SSH-Zugang mit der Konsole
Abbildung: Linux - SSH-Zugang mit der Konsole

Sichere Dateiübertragung mit SFTP und SCP

Mit SFTP und SCP lässt sich von jedem Client-Rechner aus alles auf den Server hinaufladen oder vom Server auf jeden Client-Rechner herunterkopieren. Dies funktioniert auch, für Internetverbindungen zwischen dem Server und dem heimischen Computer, wenn in der Systemverwaltung bei den Firewalleinstellungen das Protokoll SSH nach außen hin freigegeben wurde. Die in diesem Abschnitt vorgestellten Programme dürften einfach und selbsterklärend zu benutzen sein.

Die Dateiübertragungsprotokolle SFTP und SCP funktionieren nur für Benutzer, die einen Vollzugang mit Shell auf dem Arktur besitzen!


Windows

Für Windows ist WinSCP das bekannteste Programm, das die verschlüsselte Dateiübertragung über SSH möglich macht. WinSCP findet man zum kostenlosen Download unter der Adresse http://winscp.net/download.php . Wenn man das "Multilanguage installation package" herunterlädt, installiert sich WinSCP in einer deutschen Sprachversion. Es ist mit WinSCP sowohl die Passwort- wie auch die PublicKey-Authentifizierung möglich.

Windows - WinSCP-Start
Abbildung: Windows - WinSCP-Start
Windows - WinSCP mit PublicKey-Passphrase
Abbildung: Windows - WinSCP mit PublicKey-Passphrase
Windows - Ordnerstruktur mit WinSCP
Abbildung: Windows - Ordnerstruktur mit WinSCP
Windows - Kopiervorgang mit WinSCP
Abbildung: Windows - Kopiervorgang mit WinSCP

Weitere aussagekräftige Screenshots finden sich unter http://winscp.net/eng/docs/screenshots , eine umfangreiche englischsprachige Dokumentation unter http://winscp.net/eng/docs/start

Mac OS X

Für MacOS X habe ich bisher zwei kostenfreie Programme mit Erfolg ausprobiert

CyberDuck kostenfrei http://cyberduck.ch
Fugu kostenfrei http://rsug.itd.umich.edu/software/fugu

Beide Programme gibt es in deutschen Sprachversionen. Die Benutzung ist absolut selbsterklärend.

Mac OS X - CyberDuck
Abbildung: Mac OS X - CyberDuck mit seiner Ein-Fenster-Darstellung


Mac OS X - Fugu
Abbildung: Mac OS X - Fugu mit seiner Zwei-Fenster-Darstellung

Linux

Linux hat mit dem Konqueror bereits das passende Werzeug im System - Web Browser, File Manager - und mehr! Auch für das Protokoll sftp:// ist die Software geeignet. Einfach sftp://username@host/home/username/ in die Adresszeile eingeben und die Passwortnachfrage beantworten.

Linux - SFTP mit dem Konqueror
Abbildung: Linux - SFTP mit dem Konqueror - Web Browser, File Manager

SSH-Zugang beschränken

AllowUsers - ausgesuchten Benutzern den Zugriff erlauben

Möchte man den SSH-Zugriff auf bestimmte Benutzer einschränken, so kann man eine zusätzliche Zeile in die Konfigurationsdatei /etc/ssh/sshd_config einfügen, in der nur die berechtigten Benutzer eingetragen sind.

# Authentication:
AllowUsers mueller meier schulze
#LoginGraceTime 2m
#PermitRootLogin yes

Nach einem Neustart des SSH-Servers dürfen nur noch die Benutzer mueller, meier und schulze über SSH auf den Server zugreifen. Alle übrigen Benutzer sind ausgeschlossen. Dies ist sinnvoll, wenn man die Einwahl als Benutzer root oder sysadm unbedingt verhindern möchte.

Die Benutzerrechte von root und sysadm erhält man durch einen Wechsel des Benutzers

meier@Arktur:~> su
Password: 
Arktur:/home/Lehrer/meier #  

bzw.

meier@Arktur:~> su sysadm
Password:

DenyUsers - bestimmten Benutzern den Zugriff verbieten

Es ist auch möglich, einzelne User explizit vom Serverzugriff über SSH auszuschließen. Natürlich ist es auch hier möglich, dass root und sysadm über einen nachträglichen Benutzerwechsel erreichbar sind.

# Authentication:
DenyUsers root sysadm
#LoginGraceTime 2m
#PermitRootLogin yes

PermitRootLogin without-password - Administratorzugriff nur mit PublicKey

Die sicherlich beste Einschränkung für die Administration des Arktur-Schulservers ist die Möglichkeit, die Administrationsbenutzer root und sysadm nicht mehr nur mit der Passwort-Autentifizierung zugreifen zu lassen. Zu groß ist die Gefahr, dass irgendein Schüler das Passwort errät oder klaut und damit unendlich viel Unfug anstellt. Mit der Einstellung PermitRootLogin without-password müssen alle Administrationsbenutzer über ihren Schlüsseleintrag in der Datei /root/.ssh/authorized_keys ausgewiesen sein ... auch der Benutzer internet gehört dazu.

# Authentication:
DenyUsers meier schulze
#LoginGraceTime 2m
#PermitRootLogin yes
PermitRootLogin without-password
#StrictModes yes

Einschränkung auf bestimmte Arbeitsplätze

Wenn Zugriffe auf den Arktur-Schulserver nur von bestimmten Arbeitsplätzen aus erlaubt sein sollen, kann man deren IP-Adressen eintragen. Zugriffe sind dann aber wirklich ausschließlich von diesen Administrationsrechnern aus möglich. Dies erhöht zwar die Sicherheit des Servers, verhindert aber die Fernwartung von einem externen DSL-Zugang aus, der ja in der Regel bei jeder Einwahl eine andere IP-Adresse erhält.

Ja, das liest sich gut .... aber leider ist dies in der aktuellen Version des Arktur-Schulservers nicht möglich. Eigentlich müsste die Einschränkung in der Konfigurationsdatei /etc/hosts.allow vorgenommen werden können, aber offensichtlich muss dafür auch der SSH-Server anders kompiliert sein?? http://www.snailbook.com/faq/libwrap.auto.html

Ich hatte jedenfalls versucht, den Server-Zugriff auf den Arbeitsplatz 192.168.0.10 zu beschränken ... Fehlanzeige ... In einigen Anleitungen zum Arktur-Schulserver findet man folgende Angaben für /etc/hosts.allow

sshd:           192.168., 127.:    ALLOW
#
# SSH nur lokal erlaubt
# sshd:         ALL:               ALLOW
# 
# Zugriff von draussen erlaubt 
# sshd:         ALL:               DENY
#
# Zugriff von draussen gesperrt

Theoretisch hätte also mein Vorschlag klappen sollen .... tut er aber nicht

sshd:           192.168.0.10:      ALLOW


Links