Administratorhandbuch:SSHClient
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.
- 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.
- 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.
- Abbildung: Mac OS X - Terminal
- Abbildung: Mac OS X - Serveranmeldung 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.
- 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.
- Abbildung: Windows - WinSCP-Start
- Abbildung: Windows - WinSCP mit PublicKey-Passphrase
- Abbildung: Windows - Ordnerstruktur 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.
- Abbildung: Mac OS X - CyberDuck mit seiner Ein-Fenster-Darstellung
- 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.
- 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
- http://www-user.tu-chemnitz.de/~hot/ssh - Secure Shell (SSH) - gesicherte Kommunikation über unsichere Netze
- http://pro.wanadoo.fr/chombier/MacSSH/SSH_info.html - SSH und SFTP für Mac OS 7.5 (und höher)
- http://kai.iks-jena.de/scpsftp/scp-sftp.html - SCP und SFTP unter Linux & Windows
- http://www.chiark.greenend.org.uk/~sgtatham/putty/ - PuTTY - A Free Telnet/SSH Client
- http://www.tartarus.org/~simon/puttydoc/ - PuTTY User Manual - sehr umfangreich und informativ!!