6.330 Bytes hinzugefügt
, 20:21, 14. Mai 2014
== Allgemeines ==
SSH bietet standardmäßig einen verschlüsselten Konsolenzugang von einem entfernten Computer. Der Standardport ist 22<ref>http://www.pro-linux.de/berichte/ssh-absichern.html</ref>.
== Sicherheit ==
SSH bietet einen sehr sicheren Zugang zu einem Server. Allerdings muss man auch hier die [http://www.pro-linux.de/berichte/ssh-absichern.html Sicherheitslücken möglichst gering halten].
== X-Anwendungen über SSH nutzen ==
* <code>ssh</code> unterstützt das Laufenlassen von graphischen X-Programmen über den einfachen Befehl:
<code>
ssh -X user@ip-adresse
</code>
* Voraussetzung auf dem Computer, der die X-Befehle erzeugt, ist allerdings, dass in der Datei <code> /etc/ssh/sshd_config </code> folgende Zeile enthalten ist:
<code>
X11Forwarding yes
X11UseLocalhost no # This [http://lists.mindrot.org/pipermail/openssh-unix-dev/2005-April/022769.html is sometimes necessary!]
</code>
Nach der Änderung wird der SSH-Server (Daemon) folgendermaßen neugestartet:
<code>
/etc/init.d/sshd restart
</code>
== SSH unter Windows ==
=== SSH-Windows-Client ===
==== PuTTY ====
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] ist ein [[Plattformübergreifende Software|plattformübergreifender]] SSH-Client.
==== Zugriff auf SSH-(Linux)-Server (einschl. GUI) ====
===== via WinSCP =====
Mit [http://winscp.net/eng/docs/lang:de WinSCP] lässt sich einfach auf andere Dateien zugreifen.
===== via CygWin =====
* [http://www.cygwin.com/ CygWin] installieren (inklusive openssh-Modul)
* Los geht's:
ssh user@ip-adresse
* Um X-Anwendungen zu starten:
*# zusätzlich CygWin-Modul für X installieren
*# in der CygWin-Shell folgendes eingeben:
<code>
export DISPLAY=:0.0
X &
ssh -X user@ip-adresse
kde
</code>
<code>user</code> ist der Name des Nutzers auf dem entfernten Rechner <code>ip-adresse</code> die IP-Adresse des entfernten Rechners. Im Beispiel wird davon ausgegangen, dass KDE auf dem entfernten Rechner installiert ist und mit <code>kde</code> aufgerufen werden kann.
Den Gnome Display Manager kann man auch [http://people.w3.org/~dom/archives/2005/09/setting-up-a-secure-remote-x-session-with-gdm/ via SSH starten und X weiterleiten].
Die Alternative ist die Benutzung von [http://ubuntuforums.org/showthread.php?t=1544847&page=1 x11vnc, getunnelt mittels ssh und damit VNC statt X]
=== SSH-Windows-Server ===
==== freeSSHd ====
* [http://www.freesshd.com/ freeSSHd] ist ein [[Open Source]] SSH Server für [[Windows]].
==== CygWin-SSH-Server ====
* [http://www.adminspotting.net/articles/windows/installing-a-ssh-server-on-windows-with-cygwin.html CygWin-SSH-Servers unter Windows XP als Service]
* [http://pigtail.net/LRP/printsrv/cygwin-sshd.html Installation von eines CygWin-SSH-Servers unter Windows XP als Service]
* [http://www.fz-juelich.de/jsc/docs/tki/tki_html/t0375/t0375.html Kurzversion dieser Anleitung]
== Datei-Zugriff ==
=== Zugriff unter KDE (z.B. Konqueror) über SSH ===
Unter Linux kann auf die Dateien eines entfernten Rechners recht einfach zugegriffen werden:
Einfach
<code>
fish://user@remoteIP
</code>
in die Konqueror- oder eine andere Adressleiste eingeben. <code>user</code> ist dabei der Login-Name auf dem entfernten Rechner.
=== Kopieren mit scp ===
Ansonsten hilft das Programm <code>scp</code>, das mit ssh mitgeliefert wird:
scp -p source.dat user@ip-adresse:destination.dat
Der Schalter <code>-p</code> sorgt dafür, dass insbesondere das Änderungsdatum erhalten bleibt.
== SSH ohne Passwortabfrage ==
SSH bietet mehrere Authentifizierungsmöglichkeiten.<ref>http://www.schlittermann.de/doc/ssh</ref> Sehr einfach zu nutzen ist - neben der Passwortabfrage - der Public-Key-Modus. Dazu muss man auf dem SSH-Client
<code>
ssh-keygen
</code>
ohne Parameter starten und alle Abfragen mit einem simplen Return bestätigen.
Dann kopiert man die dadurch erzeugte Datei <code>~/.ssh/id_rsa.pub</code> mit dem öffentlichen Schlüssel vom Client auf den Server und nennt sie dort <code>~/.ssh/authorized_keys</code>:
scp ~/.ssh/id_rsa.pub ssh-server.de:.ssh/authorized_keys
Falls <code>~/.ssh/authorized_keys</code> auf dem Server bereits existiert, kann man den Inhalt der Datei <code>~/.ssh/id_rsa.pub</code> auch anhängen; dann funktionieren die bisherigen Einwahl-Möglichkeiten weiter. Beim nächsten Einloggen vom Client auf den Server wird man nicht mehr nach dem Passwort gefragt!
Eine Kurzform für das Kopieren und Anfügen bietet folgender Befehl:
ssh-copy-id user@ssh-server.de
== SSH ohne known hosts-Abfrage ==
Durch Hinzufügen der Optionen
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
als Parameter für SSH wird das [http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html Host-Key-Checking von SSH umgangen], '''Risiko: Das ermöglicht Man-in-the-Middle-Attacken.'''
Siehe auch diese [http://www.symantec.com/connect/articles/ssh-host-key-protection Erläuterung des Host-Key-Checkings].
== SSH hinter Firewall ==
Mithilfe von SSH-reverse-Tunnels kann man eine Firewall vor dem Remote-Rechner zu Hause H überwinden. Auf diesen kann man von einem Computer im Internet I folgendermaßen zugreifen:
Auf Rechner H Folgendes (z.B. als [[Cron]]-Job) ausführen (SSH-Reverse-Tunnel einrichten):
ssh -C -f -N -R2222:localhost:22 ip.of.I
Auf Rechner I kann man dann auf H folgendermaßen zugreifen:
ssh -p 2222 localhost
Dabei bitte Passwort des entfernten Rechners angeben, obwohl das des localhost angefordert wird.
Sitzt man selbst hinter einer Firewall am Rechner in der Arbeit A, hat aber einen Rechner I im Internet zur Verfügung muss mann zusätzlich zum obigen Einrichten eines Reverse-Tunnels von H zu I noch einen Forward-Tunnel von A zu I einrichten<ref>Vergleiche http://openbook.galileocomputing.de/linux/linux_kap21_003.html#dodtp09514538-0f5b-4580-9745-a2c1ca551a6d</ref>
ssh -C -f -N -L2223:localhost:2222 ip.of.I
Dann kann man von Rechner A (über I) auf H folgendermaßen zugreifen:
ssh -p 2223 localhost
== SSH-Client für Handys ==
* ConnectBot für [[Android]]
* [http://xk72.com/midpssh/wiki/ SSH-Client-Midlet]
------
<references/>
[[Category:Remote Desktop]]
[[Category:Linux]]
[[Category:Server-Software]]
[[Category:Windows]]
[[Category:Netzwerk]]