475 Beiträge rss | 71 Nutzer online

Sichere Verbindung mit SSH

Sobald Daten im Netzwerk übertragen werden, sind sie gefährdet: Lauschangriffe, Knackversuche, Datendiebstahl. Dagegen hilft nur Verschlüsselung. Dieser Beitrag zeigt, wie Sie den verschlüsselten Zugang zu Ihrem Linux-Computer nutzen.

Jede Verbindung von einem Computer zum anderen ist gefährdet. Sei es im lokalen Netz oder im Internet. Überall fischen übel meinende Zeitgenossen nach Kennwörtern und Zugängen. Kommt ein Hacker an Ihr Kennwort für den Linux-Webserver im Internet, werden die Konsequenzen fatal sein. Doch auch im lokalen Netzwerk ist man nicht gegen Angriffe gefeit. Sei es der Kollege, der eben mal den Netzwerk-Verkehr mitschreibt oder ein Hacker, der sich bereits an der Firewall vorbei in Ihr Netz geschlichen hat. In jedem Fall gilt: Machen Sie es dem Angreifer so schwer wie nur möglich.

Was ist SSH?

SSH steht für „Secure Shell“, zu deutsch etwa „sicherer Zugriff“ oder „sichere Benutzerschnittstelle“. Das Programm schützt gegen alle Versuche, den Datenverkehr zwischen zwei Computern abzuhören. Denn alle übertragenen Daten werden von SSH verschlüsselt, bevor sie über die Leitung gehen. Besonders wichtig: Diese Verschlüsselung passiert schon beim Verbindungsaufbau, also bevor Benutzername oder Kennwort zum anderen Computer wandern. So ist es faktisch unmöglich, durch reines Abhören an diese geheimen Daten zu kommen. Zusätzlich wird auch noch der komplette Datenverkehr codiert.

Wofür wird SSH eingesetzt?

Erstens für den Zugriff auf die Linux-Shell, zweitens zum Kopieren von Dateien. Ersteres ist interessant für die Fernwartung von Computern. Über einen SSH-Zugang erhalten Sie Zugriff auf eine Linux-Shell. Von dort aus verwalten Sie zum Beispiel Ihren Samba-Server und ändern dessen Konfiguration. Oder Sie starten Ihren Apache-Webserver neu. Wie Sie SSH verwenden, lesen Sie im Abschnitt „ssh in der Praxis“ in diesem Artikel.

Der zweite Einsatzzweck von SSH ist das Kopieren von Dateien. Auf SSH setzt das Programm scp auf - das steht für Secure Copy und ist ideal, um Dateien von einem Linux-Rechner auf einen anderen zu kopieren. Das geht im lokalen Netz genauso gut wie im Internet. Mehr dazu lesen Sie unter „scp einsetzen“ in diesem Artikel. Falls Sie von Windows aus komfortabel Dateien per scp an einen Linux-Computer senden wollen, lesen Sie den Kasten „WinSCP einsetzen“.

Grundsätzlich gilt: Der Zugriff auf die Shell Ihres Linux-Computers, egal ob im lokalen Netz oder im Internet, sollte immer über eine sichere Verbindung stattfinden. Falls Sie noch Telnet einsetzen: Machen Sie den Telnet-Port dicht, beenden Sie den Telnet-Dienst und vergessen Sie Telnet einfach. Denn per Telnet versandte Daten sind unverschlüsselt und können von jedermann abgefangen werden.

Davor schützt SSH nicht

Sobald sich ein Eindringling erfolgreich in Ihren Server gehackt hat, hilft auch die beste Verschlüsselung nichts mehr. Denn dann hat der Einbrecher freie Hand auf dem Server. SSH schützt auch nicht vor schlecht gewählten Kennwörtern. Wer als Root-Kennwort „mausi“ wählt, braucht sich nicht wundern, wenn das System in die Hände anderer Benutzer fällt.

SSH hilft auch nicht beim Schutz anderer Verbindungen zum Linux-Server. Für die Absicherung von Webservern brauchen Sie https und auch Samba können Sie nicht über die Secure Shell absichern.

SSH in der Praxis

Die gute Nachricht: wenn Sie Suse Linux 9.1 verwenden, ist der Zugang über die Secure Shell bereits verfügbar. Außerdem ist der Telnet-Dienst abgeschaltet. So weit ist alles sicher. Bei der Installation hat das Linux auch bereits einen für SSH verwendbaren Schlüssel erzeugt. Sie können also gleich loslegen.

Um eine Verbindung von einem Linux-Computer zum anderen herzustellen, geben Sie folgendes ein:

ssh username@linux1

„linux1“ ist in diesem Fall der Name des Linux-Rechners im lokalen Netz. Falls es sich um einen Server im Internet handelt, geben Sie den kompletten Domainnamen ein, also

ssh username@linux1.foo.bar

Nach dem Absenden des Befehls baut Ihr Rechner die Verbindung auf. Falls dies zum ersten Mal geschieht, erscheint der Schlüssel des angewählten Rechners, den Sie bestätigen. Danach geben Sie das Kennwort ein und es steht Ihnen die Shell des gewählten Linux-PC zur Verfügung. Übrigens lässt SSH auch die Anmeldung als root zu - bei Telnet war das aus gutem Grund per Default-Einstellung auf dem Server ausgeschlossen.

Übrigens funktioniert der Befehl auch ohne vorangestellten Benutzernamen, also

ssh linux1

Dann geht ssh davon aus, dass Sie sich mit dem Benutzernamen anmelden wollen, mit dem Sie auch schon lokal angmeldet sind. Das ist bequem, falls Sie auch zwei Servern den gleichen Benutzernamen verwenden.

Nach dem Login steht Ihnen die Linux-Shell wie gewohnt zur Verfügung. Nach getaner Arbeit schließt der Administrator den SSH-Zugang mit der Tastenkombination [Strg - D].

Dateien kopieren mit scp

Das Programm scp stellt eine abgesicherte Verbindung zwischen zwei Computern her und kopiert Dateien über diese Verbindung. Dabei spielt es keine Rolle, ob der entfernte Server im lokalen Netzwerk oder im Internet steht. Scp funktioniert auf der Linux-Kommandozeile. Für Windows gibt es einen eigenen Client. Mehr dazu lesen Sie im Kasten „WinSCP einsetzen“.

Um zwischen zwei Linux-Computern Dateien zu kopieren, setzen Sie scp so ein:

scp /home/user/dir/*.erw rserv:/home/user/dir

Das kopiert alle Dateien mit der Endung erw aus dem Verzeichnis „/home/user/dir/“ in das gleichnamige Verzeichnis auf dem Computer rserv.

Vor dem Kopieren verlangt der entfernte Server noch ein Kennwort. Als Benutzernamen übergibt scp den aktuellen Usernamen. Wollen Sie sich mit einem anderen Benutzernamen anmelden, geht das so:

scp /home/user/dir/*.erw xyz@rserv:/home/user/dir

Umgekehrt holt scp auch Dateien von einem anderen Computer ab und kopiert sie auf den lokalen Rechner:

scp xyz@rserv:/home/user/dir/*.doc xyz@rserv:/home/user/texte

Damit kopiert das Programm alle Dateien mit der Endung doc auf den lokalen Rechner in das Verzeichnis /home/user/texte.

SSH unter Windows mit Putty

Falls Sie mit Windows auf Ihren Linux-Rechner zugreifen wollen, brauchen Sie einen SSH-Client. Der meist verwendete ist Putty, den Sie im Internet unter der Adresse http://www.chiark.greenend.org.uk/~sgtatham/putty/ bekommen. Putty beherrscht auch Secure-Shell-Verbindungen und kann die Einstellungen verschiedener Telnet oder SSH-Sessions speichern. Auf diese Weise können Sie auch mehrere Linux-Computer von einem Windows-Rechner aus bequem kontrollieren.

Nach dem Download können Sie Putty sofort einsetzen. Einfach das Programm starten und unter „Host Name“ die IP-Adresse des Linux-Servers eingeben. Dabei darauf achten, dass unter „Protocol“ die Option „SSH“ aktiviert ist. Mit einem Klick auf „Open“ baut Putty die Verbindung zum Linux-Rechner auf.

Danach gibt der Benutzer nur noch seinen Namen und das Kennwort ein. Schon steht die Anmeldung. Mit der Tastenkombination [Strg - D] endet diese erste Sitzung wieder.

Bequemer ist die Anwendung von Putty, wenn der Benutzer seine Daten speichert. Dazu tippen Sie zuerst wie gehabt die IP-Adresse des Servers ein. Danach tragen Sie unter „Saved Sessions“ einen Namen für die Verbindung ein und klicken auf „Save“.

Ist die Verbindung einmal gespeichert, genügt ein Doppelklick, um sie wiederherzustellen.

WinSCP einsetzen

Die Windows-Freeware WinSCP setzt auf Putty auf und verschlüsselt die Übertragung von Files. Das Programm finden Sie im Internet unter http://winscp.vse.cz/eng/ zum Download oder auf der Heft-DVD ((??)).

Nach Installation und Start legen Sie mit „New“ eine neue Session an. Danach geht es mit „Login“ auf den entfernten Rechner. Ist die Verbindung hergestellt, zeigt WinSCP ein zweigeteiltes Fenster. In der linken Hälfte findet sich das lokale Verzeichnis, in der rechten das auf dem Server. Dateien und Ordner kopieren Sie einfach per Drag & Drop. Die Belegung der Funktionstasten ist dem guten alten Norton Commander nachempfunden. Übrigens lässt sich WinSCP auch gut über die Kommandozeile steuern und sich automatisieren.

Putty für Suse 9.1 einstellen

Der Windows-SSH-Client Putty arbeitet hervorragend mit Suse 9.1 zusammen. Allerdings gibt es seit genau dieser Suse-Version eine kleine Umstellung. Denn per Default arbeitet Suse 9.1 nicht mehr mit dem Zeichensatz ISO 8859-15, sondern mit UTF-8. Das Resultat: In der Standardeinstellung stellt Putty Rahmen und andere grafische Elemente in der Kommandozeile nicht mehr richtig dar. Hilfe bringt eine kleine Umstellung. Dazu Putty starten und mit einem Klick auf den Namen des Servers und einem zweiten Klick auf „Load“ die Session laden. Dann links im Menü unter „Window-Translation“ die Liste „Received data assumed to be in which character set:“ öffnen und dort „UTF-8“ wählen.

Danach mit einem Klick auf „Session“ zurück zum Hauptfenster und dort auf „Save“ klicken. Damit speichert Putty die Einstellungen und Sie können mit „Open“ die Sitzung starten.

 

SSH-Tipps

Tipp 1

Auch wenn SSH sicher sein mag - Kontrolle ist ein Muss. Mit

cat /var/log/messages | grep sshd

holen Sie eine Liste aller Verbindungen, die Ihr SSH-Daemon angenommen oder abgelehnt hat.

Um die Liste ständig zu aktualisieren verwenden Sie

tail -f  /var/log/messages | grep sshd

 

Tipp 2

Wer ssh und scp auch unter Windows von der Kommandozeile aus steuern möchte, installiert cygwin. Das ist eine komplette Bash-Shell für Windows, inklusive scp und ssh. Download unter http://www.cygwin.com/.

 

Tipp 3

ssh funktioniert auch ohne Kennwörter. Dazu erzeugt man einen Schlüssel, übergibt den an den Client. Der meldet sich dann mit dem Schlüssel an. Mehr verrät Ihr Linux-Server mit

man ssh-agent

Und im Internet hilft die Seite

www.securityfocus.com/infocus/1812

weiter.


Bedingungen fuer die Kommentareingabe
Hinweis


Ihr Kommentar:


Name: E-Mail:
Name und E-Mail in einem Cookie auf Ihrer Festplatte speichern

Copyright © goldmann.de 1999-2010   | powered by Tippscout 5.0
Zurück Startseite