Ssh: Unterschied zwischen den Versionen
K Textersetzung - „wikitable“ durch „table table-striped table-hover“ |
|||
| (47 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
[[File:2024-01-19_12-32-54_UTC.jpg|mini]] | |||
; ssh verbindet sich mit dem angegebenen Ziel und meldet sich dort an | |||
* Es ist zur Bereitstellung sicherer, verschlüsselter Kommunikation zwischen zwei nicht vertrauenswürdigen Rechnern über ein unsicheres Netzwerk gedacht. | |||
* Der Benutzer muss seine/ihre Identitität auf der fernen Maschine mittels einer von mehreren, nachfolgend beschriebenen Methoden nachweisen. | |||
; X11-Verbindungen | |||
* beliebige [[TCP]]-Ports und UNIX-domain -Sockets können auch über den sicheren Kanal weitergeleitet werden. | |||
; Ausführung von Befehlen | |||
* Falls ein Befehl angegeben ist, wird er auf dem fernen Rechner statt in einer Anmelde-Shell ausgeführt. | |||
* Als Befehl kann eine komplette Befehlszeile angegeben werden oder er kann zusätzliche Argumente haben. | |||
* Falls angegeben, werden die Argumente an den Befehl, durch Leerzeichen getrennt, angehängt, bevor er an den Server zur Ausführung gesandt wird. | |||
== Installation == | == Installation == | ||
== | == Anwendung == | ||
== | === X-Umleitung === | ||
siehe '''[[SSH/X-Forwarding]]''' | |||
=== Passwort-Authentifizierung erzwingen === | |||
* Testen der Passwort-Authentifizierung | |||
* Die Authentifizierung mit öffentlichem Schlüssel wird hier abgeschaltet | |||
; ssh | |||
$ ssh '''-o PreferredAuthentications=password -o PubkeyAuthentication=no''' user@host | |||
'' | |||
'' | |||
; scp | |||
$ scp '''-o PreferredAuthentications=password -o PubkeyAuthentication=no''' DATEI user@host:DATEI | |||
= | == Aufruf == | ||
$ ssh [OPTIONEN] ZIEL [Befehl] | $ ssh [OPTIONEN] ZIEL [Befehl] | ||
$ ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B Anbindeschnittstelle] [-b Anbindeadresse] [-c Chiffrespez] [-D [Anbindeadresse:]Port] [-E Protokolldatei] [-e Maskierzeichen] [-F Konfigurationsdatei] [-I PKCS11] [-i Identitätsdatei] [-J Ziel] [-L Adresse] [-l Anmeldename] [-m MAC_Spez] [-O Steuerbefehl] [-o Option] [-p Port] [-Q Abfrageoption] [-R Adresse] [-S Steuerpfad] [-W Rechner:Port] [-w lokaler_Tun[:ferner_Tun]] Ziel [Befehl [Argument …]] | |||
=== Optionen === | === Optionen === | ||
{| class=" | {| class="table table-striped table-hover sortable options big" | ||
|- | |- | ||
! Option !! Beschreibung | ! Option !! Beschreibung | ||
| Zeile 78: | Zeile 59: | ||
* Dies ist nur auf Systemen mit mehr als einer Adresse nützlich. | * Dies ist nur auf Systemen mit mehr als einer Adresse nützlich. | ||
|- | |- | ||
| -C || Fordert die Komprimierung sämtlicher Daten (einschließlich Stdin, Stdout, Stderr und über X11, TCP und UNIX-domain -Verbindungen weitergeleitete Daten). | | -C || Fordert die Komprimierung sämtlicher Daten (einschließlich Stdin, Stdout, Stderr und über X11, [[TCP]] und UNIX-domain -Verbindungen weitergeleitete Daten). | ||
* Der Kompressionsalgorithmus ist der gleiche, den auch gzip(1) nutzt. | * Der Kompressionsalgorithmus ist der gleiche, den auch gzip(1) nutzt. | ||
* Die Komprimierung eignet sich für Modemleitungen und andere langsame Anbindungen, wird die Verbindung aber in schnellen Netzwerken nur ausbremsen. | * Die Komprimierung eignet sich für Modemleitungen und andere langsame Anbindungen, wird die Verbindung aber in schnellen Netzwerken nur ausbremsen. | ||
* Der Vorgabewert kann für jeden Rechner separat in den Konfigurationsdateien eingestellt werden; siehe die Option Compression. | * Der Vorgabewert kann für jeden Rechner separat in den Konfigurationsdateien eingestellt werden; siehe die Option Compression. | ||
|- | |- | ||
| -c Chiffrespez || Wählt die Chiffrespezifikation für die | | -c Chiffrespez || Wählt die Chiffrespezifikation für die Kryptografie der Verbindung aus. | ||
* Chiffrespez ist eine durch Kommata getrennte Liste von Chiffren, in der Reihenfolge der Bevorzugung. | * Chiffrespez ist eine durch Kommata getrennte Liste von Chiffren, in der Reihenfolge der Bevorzugung. | ||
* Siehe das Schlüsselwort Ciphers in ssh_config(5) für weitere Informationen. | * Siehe das Schlüsselwort Ciphers in ssh_config(5) für weitere Informationen. | ||
|- | |- | ||
| -D [Anbindeadresse:]Port || Legt eine lokale, | | -D [Anbindeadresse:]Port || Legt eine lokale, "dynamische", anwendungsbezogene Port-Weiterleitung fest. | ||
* Dazu wird ein Socket bereitgestellt, der auf Port auf der lokalen Seite auf Anfragen wartet und optional an die angegebene Anbindeadresse angebunden wird. | * Dazu wird ein Socket bereitgestellt, der auf Port auf der lokalen Seite auf Anfragen wartet und optional an die angegebene Anbindeadresse angebunden wird. | ||
* Immer wenn eine Verbindung zu diesem Port aufgebaut wird, wird diese Verbindung über den sicheren Kanal weitergeleitet und das Anwendungsprotokoll wird dann verwandt, um zu bestimmen, wohin auf der fernen Maschine verbunden werden soll. | * Immer wenn eine Verbindung zu diesem Port aufgebaut wird, wird diese Verbindung über den sicheren Kanal weitergeleitet und das Anwendungsprotokoll wird dann verwandt, um zu bestimmen, wohin auf der fernen Maschine verbunden werden soll. | ||
| Zeile 98: | Zeile 79: | ||
* Standardmäßig ist der lokale Port gemäß der Einstellung GatewayPorts angebunden. | * Standardmäßig ist der lokale Port gemäß der Einstellung GatewayPorts angebunden. | ||
* Allerdings kann eine explizite Anbindeadresse verwandt werden, um die Verbindung an die bestimmte Adresse anzubinden. | * Allerdings kann eine explizite Anbindeadresse verwandt werden, um die Verbindung an die bestimmte Adresse anzubinden. | ||
* Die Anbindeadresse | * Die Anbindeadresse "localhost" zeigt an, dass dieser Port, auf dem auf Anfragen gewartet werden soll, nur für die lokale Benutzung angebunden ist, während eine leere Adresse oder ''*'' anzeigt, dass der Port an allen Schnittstellen verfügbar sein soll. | ||
|- | |- | ||
| -E Protokolldatei || Hängt Fehlersuchprotokolle an Protokolldatei statt an die Standardfehlerausgabe an. | | -E Protokolldatei || Hängt Fehlersuchprotokolle an Protokolldatei statt an die Standardfehlerausgabe an. | ||
| Zeile 105: | Zeile 86: | ||
* Das Maskierzeichen wird nur am Anfang einer Zeile erkannt. | * Das Maskierzeichen wird nur am Anfang einer Zeile erkannt. | ||
* Das Maskierzeichen, gefolgt von einem Punkt (‘.’), schließt die Verbindung; gefolgt von einem Strg-Z, suspendiert es die Verbindung und gefolgt von sich selbst, sendet es einmalig das Maskierzeichen. | * Das Maskierzeichen, gefolgt von einem Punkt (‘.’), schließt die Verbindung; gefolgt von einem Strg-Z, suspendiert es die Verbindung und gefolgt von sich selbst, sendet es einmalig das Maskierzeichen. | ||
* Durch Setzen des Zeichens auf | * Durch Setzen des Zeichens auf "none" wird Maskierung deaktiviert und die Sitzung vollkommen transparent. | ||
|- | |- | ||
| -F Konfigurationsdatei | | -F Konfigurationsdatei || Legt eine alternative, benutzerbezogene Konfigurationsdatei fest. | ||
* Falls eine Konfigurationsdatei auf der Befehlszeile angegeben ist, wird die systemweite Konfigurationsdatei (/etc/ssh/ssh_config) ignoriert. | * Falls eine Konfigurationsdatei auf der Befehlszeile angegeben ist, wird die systemweite Konfigurationsdatei (/etc/ssh/ssh_config) ignoriert. | ||
* Die Vorgabe für die benutzerbezogene Konfigurationsdatei ist ~/.ssh/config. | * Die Vorgabe für die benutzerbezogene Konfigurationsdatei ist ~/.ssh/config. | ||
* Wird sie auf | * Wird sie auf "none" gesetzt, dann wird keine Konfigurationsdatei eingelesen. | ||
|- | |- | ||
| -f || Fordert ssh auf, sich vor der Befehlsausführung in den Hintergrund zu schieben. | | -f || Fordert ssh auf, sich vor der Befehlsausführung in den Hintergrund zu schieben. | ||
| Zeile 116: | Zeile 97: | ||
* Dies impliziert -n. | * Dies impliziert -n. | ||
* Die empfohlene Art, X11-Programme auf einem fernen Rechner zu starten, ist etwas der Art nach ssh -f host xterm. | * Die empfohlene Art, X11-Programme auf einem fernen Rechner zu starten, ist etwas der Art nach ssh -f host xterm. | ||
* Falls die Konfigurationsoption ExitOnForwardFailure auf | * Falls die Konfigurationsoption ExitOnForwardFailure auf "yes" gesetzt ist, dann wird ein Client, der mit -f gestartet wurde, darauf warten, dass alle fernen Port-Weiterleitungen erfolgreich etabliert wurden, bevor er sich in den Hintergrund schiebt. | ||
* Schauen Sie in die Beschreibung von ForkAfterAuthentication in ssh_config(5) für Details. | * Schauen Sie in die Beschreibung von ForkAfterAuthentication in ssh_config(5) für Details. | ||
|- | |- | ||
| Zeile 134: | Zeile 115: | ||
* Falls keine Zertifikate explizit durch die Direktive CertificateFile angegeben sind, wird ssh versuchen, die Zertifikatsinformationen aus dem Dateinamen zu laden, der durch Anhängen von -cert.pub an die Identitätsdateinamen ermittelt wird. | * Falls keine Zertifikate explizit durch die Direktive CertificateFile angegeben sind, wird ssh versuchen, die Zertifikatsinformationen aus dem Dateinamen zu laden, der durch Anhängen von -cert.pub an die Identitätsdateinamen ermittelt wird. | ||
|- | |- | ||
| -J Ziel || Verbindet sich zum Zielrechner, indem ssh zuerst eine Verbindung zu dem in Ziel angegebenen Sprungrechner aufbaut und dann dort eine TCP-Weiterleitung zum endgültigen Ziel etabliert. | | -J Ziel || Verbindet sich zum Zielrechner, indem ssh zuerst eine Verbindung zu dem in Ziel angegebenen Sprungrechner aufbaut und dann dort eine [[TCP]]-Weiterleitung zum endgültigen Ziel etabliert. | ||
* Mehrere Sprungrechner können durch Kommata getrennt angegeben werden. | * Mehrere Sprungrechner können durch Kommata getrennt angegeben werden. | ||
* Dies ist eine Abkürzung für die Verwendung der Konfigurationsdirektive ProxyJump. | * Dies ist eine Abkürzung für die Verwendung der Konfigurationsdirektive ProxyJump. | ||
| Zeile 150: | Zeile 131: | ||
-L lokales_Socket:Rechner | -L lokales_Socket:Rechner | ||
| Gibt an, dass Verbindungen zu dem angegebenen TCP-Port oder Unix-Socket auf dem lokalen (Client-)Rechner an den angegeben Rechner und Port oder Unix-Socket auf der fernen Seite weitergeleitet werden soll. | | Gibt an, dass Verbindungen zu dem angegebenen [[TCP]]-Port oder Unix-Socket auf dem lokalen (Client-)Rechner an den angegeben Rechner und Port oder Unix-Socket auf der fernen Seite weitergeleitet werden soll. | ||
* Dies funktioniert durch Zuweisung eines Ports, der entweder auf einen TCP- Port auf der lokalen Seite, optional an die angegebene Anbindeadresse angebunden, oder auf einem Unix-Socket auf Anfragen wartet. | * Dies funktioniert durch Zuweisung eines Ports, der entweder auf einen [[TCP]]- Port auf der lokalen Seite, optional an die angegebene Anbindeadresse angebunden, oder auf einem Unix-Socket auf Anfragen wartet. | ||
* Immer wenn eine Verbindung zu dem lokalen Port oder Socket erfolgt, wird die Verbindung über den sicheren Kanal weitergeleitet und es erfolgt entweder eine Verbindung zu dem Port des Rechners Rechnerport oder zum dem Unix-Socket fernes_Socket auf der fernen Maschine. | * Immer wenn eine Verbindung zu dem lokalen Port oder Socket erfolgt, wird die Verbindung über den sicheren Kanal weitergeleitet und es erfolgt entweder eine Verbindung zu dem Port des Rechners Rechnerport oder zum dem Unix-Socket fernes_Socket auf der fernen Maschine. | ||
Port-Weiterleitung kann auch in der gesamten Konfigurationsdatei festgelegt werden. | Port-Weiterleitung kann auch in der gesamten Konfigurationsdatei festgelegt werden. | ||
| Zeile 158: | Zeile 139: | ||
Standardmäßig ist der lokale Port gemäß der Einstellung GatewayPorts angebunden. | Standardmäßig ist der lokale Port gemäß der Einstellung GatewayPorts angebunden. | ||
* Allerdings kann eine explizite Anbindeadresse verwandt werden, um die Verbindung an eine bestimmte Adresse anzubinden. | * Allerdings kann eine explizite Anbindeadresse verwandt werden, um die Verbindung an eine bestimmte Adresse anzubinden. | ||
* Wird | * Wird "localhost" als Anbindeadresse verwandt, zeigt dies an, dass der Port, an dem auf Anfragen gewartet wird, nur lokal eingesetzt werden soll, während eine leere Adresse oder ''*'' anzeigt, dass der Port von allen Schnittstellen aus verfügbar sein soll. | ||
|- | |- | ||
| -l Anmeldename ||Gibt den Benutzernamen an, unter dem die Anmeldung in der fernen Maschine erfolgen soll. | | -l Anmeldename ||Gibt den Benutzernamen an, unter dem die Anmeldung in der fernen Maschine erfolgen soll. | ||
* Dies kann auch rechnerbezogen in der Konfigurationsdatei festgelegt werden. | * Dies kann auch rechnerbezogen in der Konfigurationsdatei festgelegt werden. | ||
|- | |- | ||
| -M || Bringt den ssh -Client in den | | -M || Bringt den ssh -Client in den "master" -Modus für die gemeinsame Benutzung von Verbindungen. | ||
* Durch mehrere Optionen -M wird ssh in den | * Durch mehrere Optionen -M wird ssh in den "master" -Modus gebracht, es wird aber eine Bestätigung mit ssh-askpass(1) vor jeder Aktion verlangt, die den Multiplexing-Zustand ändert (beispielsweise Öffnen einer neuen Sitzung). | ||
* Lesen Sie die Beschreibung von ControlMaster in ssh_config(5) für Details. | * Lesen Sie die Beschreibung von ControlMaster in ssh_config(5) für Details. | ||
|- | |- | ||
| Zeile 182: | Zeile 163: | ||
| -O Steuerbefehl || Steuert einen aktiven Master-Prozess für Verbindungs-Multiplexing. | | -O Steuerbefehl || Steuert einen aktiven Master-Prozess für Verbindungs-Multiplexing. | ||
* Wird die Option -O angegeben, dann wird das Argument Steuerbefehl interpretiert und an den Master-Prozess übergeben. | * Wird die Option -O angegeben, dann wird das Argument Steuerbefehl interpretiert und an den Master-Prozess übergeben. | ||
* Gültige Befehle sind: | * Gültige Befehle sind: "check" (prüfen, ob der Master-Prozess läuft), "forward" (Weiterleitungen ohne Befehlsausführung erbitten), "cancel" (Weiterleitungen abbrechen), "exit" (den Master zum Beenden auffordern) und "stop" (den Master bitten, keine weiteren Multiplexing-Anforderungen zu akzeptieren). | ||
|- | |- | ||
| -o Option || Kann zur Angabe von Optionen, die wie in der Konfigurationsdatei formatiert sind, verwandt werden. | | -o Option || Kann zur Angabe von Optionen, die wie in der Konfigurationsdatei formatiert sind, verwandt werden. | ||
| Zeile 191: | Zeile 172: | ||
* Dies kann rechnerbasiert in der Konfigurationsdatei festgelegt werden. | * Dies kann rechnerbasiert in der Konfigurationsdatei festgelegt werden. | ||
|- | |- | ||
| -Q Abfrageoption || Erfragt die Algorithmen, die von einem der folgenden Funktionalitäten unterstützt werden: cipher (unterstützte symmetrische Chiffren), cipher-auth (unterstützte symmetrische Chiffren, die authentifizierte | | -Q Abfrageoption || Erfragt die Algorithmen, die von einem der folgenden Funktionalitäten unterstützt werden: cipher (unterstützte symmetrische Chiffren), cipher-auth (unterstützte symmetrische Chiffren, die authentifizierte Kryptografie unterstützen), help (die für den Einsatz mit dem Schalter -Q unterstützten Abfrageausdrücke), mac (unterstützte Nachrichtenintegritätscodes), kex (Schlüssel-Austauschalgorithmen), kex-gss (GSSAPI-Schlüssel-Austauschalgorithmen), key (Schlüsseltypen), key-cert (Zertifikatsschlüsseltypen), key-plain (nicht-Zertifikatsschlüsseltypen), key-sig (alle Schlüsseltypen und Signaturalgorithmen), Protokollversion (unterstützte SSH-Protokollversionen) und sig (unterstützte Signaturalgorithmen). | ||
* Alternativ kann jedes Schlüsselwort aus ssh_config(5) und sshd_config(5), das eine Algorithmenliste akzeptiert, als ein Alias für die entsprechende Abfrageoption verwandt werden. | * Alternativ kann jedes Schlüsselwort aus ssh_config(5) und sshd_config(5), das eine Algorithmenliste akzeptiert, als ein Alias für die entsprechende Abfrageoption verwandt werden. | ||
|- | |- | ||
| Zeile 205: | Zeile 186: | ||
-R [Anbindeadresse:]Port | -R [Anbindeadresse:]Port | ||
| Gibt an, dass Verbindungen zum dem angegebenen TCP-Port oder Unix-Socket auf dem fernen Rechner (Server) an die lokale Seite weitergeleitet werden sollen. | | Gibt an, dass Verbindungen zum dem angegebenen [[TCP]]-Port oder Unix-Socket auf dem fernen Rechner (Server) an die lokale Seite weitergeleitet werden sollen. | ||
Dazu wird auf der fernen Seite ein Socket bereitgestellt, das entweder auf einem TCP- Port oder einem Unix-Socket auf Anfragen wartet. | Dazu wird auf der fernen Seite ein Socket bereitgestellt, das entweder auf einem [[TCP]]- Port oder einem Unix-Socket auf Anfragen wartet. | ||
* Immer wenn eine Verbindung zu diesem Port oder Unix-Socket aufgebaut wird, wird sie über den sicheren Kanal weitergeleitet und eine weitere Verbindung erstellt, die zu einem expliziten Ziel führt (angegeben durch den Port Rechnerport auf dem Rechner oder lokales_Socket). | * Immer wenn eine Verbindung zu diesem Port oder Unix-Socket aufgebaut wird, wird sie über den sicheren Kanal weitergeleitet und eine weitere Verbindung erstellt, die zu einem expliziten Ziel führt (angegeben durch den Port Rechnerport auf dem Rechner oder lokales_Socket). | ||
* Falls kein Ziel genannt wurde, arbeitet ssh als SOCKS4/5-Proxy und leitet die Verbindungen zu den Zielen weiter, die vom entfernten SOCKS-Client erbeten werden. | * Falls kein Ziel genannt wurde, arbeitet ssh als SOCKS4/5-Proxy und leitet die Verbindungen zu den Zielen weiter, die vom entfernten SOCKS-Client erbeten werden. | ||
| Zeile 212: | Zeile 193: | ||
* Privilegierte Ports können nur nach Anmeldung als root auf der fernen Maschine weitergeleitet werden. | * Privilegierte Ports können nur nach Anmeldung als root auf der fernen Maschine weitergeleitet werden. | ||
* Durch Einschluss der Adresse in eckige Klammern können IPv6-Adressen angegeben werden. | * Durch Einschluss der Adresse in eckige Klammern können IPv6-Adressen angegeben werden. | ||
Standardmäßig werden TCP-Ports auf dem Server, an denen auf Anfragen gewartet wird, nur an die Loopback-Schnittstelle gebunden. | Standardmäßig werden [[TCP]]-Ports auf dem Server, an denen auf Anfragen gewartet wird, nur an die Loopback-Schnittstelle gebunden. | ||
* Dies kann durch Angabe einer Anbindeadresse außer Kraft gesetzt werden. | * Dies kann durch Angabe einer Anbindeadresse außer Kraft gesetzt werden. | ||
* Eine leere Anbindeadresse oder die Adresse ‘*’ zeigt an, dass das ferne Socket auf allen Schnittstellen auf Anfragen warten soll. | * Eine leere Anbindeadresse oder die Adresse ‘*’ zeigt an, dass das ferne Socket auf allen Schnittstellen auf Anfragen warten soll. | ||
| Zeile 219: | Zeile 200: | ||
* Wird dies zusammen mit -O forward eingesetzt, dann wird der zugewiesene Port auf die Standardausgabe geschrieben. | * Wird dies zusammen mit -O forward eingesetzt, dann wird der zugewiesene Port auf die Standardausgabe geschrieben. | ||
|- | |- | ||
| -S Steuerpfad || Gibt den Ort eines Steuer-Sockets für die gemeinsame Verwendung von Verbindungen oder die Zeichenkette | | -S Steuerpfad || Gibt den Ort eines Steuer-Sockets für die gemeinsame Verwendung von Verbindungen oder die Zeichenkette "none" an, um die gemeinsame Verwendung von Verbindungen zu deaktivieren. | ||
* Lesen Sie die Beschreibung von ControlPath und ControlMaster in ssh_config(5) für Details. | * Lesen Sie die Beschreibung von ControlPath und ControlMaster in ssh_config(5) für Details. | ||
|- | |- | ||
| -s || Kann dazu verwandt werden, um das Starten eines Subsystems auf dem fernen System zu erbitten. | | -s || Kann dazu verwandt werden, um das Starten eines Subsystems auf dem fernen System zu erbitten. | ||
* Subsysteme ermöglichen die Verwendung von SSH als | * Subsysteme ermöglichen die Verwendung von SSH als | ||
sicheren Transport für andere Anwendungen ( | sicheren Transport für andere Anwendungen (beispielsweise | ||
* sftp(1)). | * sftp(1)). | ||
* Das Subsystem wird als der ferne Befehl angegeben. | * Das Subsystem wird als der ferne Befehl angegeben. | ||
| Zeile 248: | Zeile 229: | ||
|- | |- | ||
| -w lokaler_Tun[:ferner_Tun] || Fordert Tunnelgerät-Weiterleitung mit den angegebenen tun(4) -Geräten zwischen dem Client (lokaler_Tun) und dem Server (ferner_Tun). | | -w lokaler_Tun[:ferner_Tun] || Fordert Tunnelgerät-Weiterleitung mit den angegebenen tun(4) -Geräten zwischen dem Client (lokaler_Tun) und dem Server (ferner_Tun). | ||
Die Geräte können über numerische Kennungen oder das Schlüsselwort | Die Geräte können über numerische Kennungen oder das Schlüsselwort "any", das das nächste verfügbare Tunnelgerät verwendet, angegeben werden. | ||
Falls ferner_Tun nicht angegeben ist, ist die Vorgabe | Falls ferner_Tun nicht angegeben ist, ist die Vorgabe "any". | ||
* Siehe auch die Direktiven Tunnel und TunnelDevice in ssh_config(5). | * Siehe auch die Direktiven Tunnel und TunnelDevice in ssh_config(5). | ||
Falls die Direktive Tunnel nicht gesetzt ist, wird sie auf den Standard-Tunnel-Modus ( | Falls die Direktive Tunnel nicht gesetzt ist, wird sie auf den Standard-Tunnel-Modus ("point-to-point") gesetzt. | ||
* Falls ein anderer Tunnel-Weiterleitungsmodus gewünscht ist, kann er vor -w angegeben werden. | * Falls ein anderer Tunnel-Weiterleitungsmodus gewünscht ist, kann er vor -w angegeben werden. | ||
|- | |- | ||
| Zeile 262: | Zeile 243: | ||
* Lesen Sie für weitere Informationen die Beschreibung der Option ssh -Y und der Direktive ForwardX11Trusted in ssh_config(5). | * Lesen Sie für weitere Informationen die Beschreibung der Option ssh -Y und der Direktive ForwardX11Trusted in ssh_config(5). | ||
(Debian-spezifisch: X11-Weiterleitung unterliegt derzeit standardmäßig nicht den Einschränkungen der X11-SECURITY-Erweiterungen, da derzeit zu viele Programme in diesem Modus abstürzen. | (Debian-spezifisch: X11-Weiterleitung unterliegt derzeit standardmäßig nicht den Einschränkungen der X11-SECURITY-Erweiterungen, da derzeit zu viele Programme in diesem Modus abstürzen. | ||
* Setzen Sie die Option ForwardX11Trusted auf | * Setzen Sie die Option ForwardX11Trusted auf "no", um das von den Originalautoren beabsichtigte Verhalten wiederherzustellen. | ||
* Dies kann sich abhängig von den Verbesserungen bei den Clients in der Zukunft ändern.) | * Dies kann sich abhängig von den Verbesserungen bei den Clients in der Zukunft ändern.) | ||
|- | |- | ||
| Zeile 268: | Zeile 249: | ||
|- | |- | ||
| -Y || Aktiviert vertrauenswürdige X11-Weiterleitung. | | -Y || Aktiviert vertrauenswürdige X11-Weiterleitung. | ||
* Vertrauenswürdige X11-Weiterleitungen unterliegen nicht den Maßnahmen der X11-SECURITY-Erweiterungen. (Debian-spezifisch: In der Standardkonfiguration ist diese Option zu -X äquivalent, da wie oben beschrieben ForwardX11Trusted standardmäßig | * Vertrauenswürdige X11-Weiterleitungen unterliegen nicht den Maßnahmen der X11-SECURITY-Erweiterungen. (Debian-spezifisch: In der Standardkonfiguration ist diese Option zu -X äquivalent, da wie oben beschrieben ForwardX11Trusted standardmäßig "yes" ist. | ||
* Setzen Sie die Option ForwardX11Trusted auf | * Setzen Sie die Option ForwardX11Trusted auf "no", um das von den Originalautoren beabsichtigte Verhalten wiederherzustellen. | ||
* Dies kann sich abhängig von den Verbesserungen bei den Clients in der Zukunft ändern.) | * Dies kann sich abhängig von den Verbesserungen bei den Clients in der Zukunft ändern.) | ||
|- | |- | ||
| Zeile 278: | Zeile 259: | ||
|} | |} | ||
=== | === Argumente === | ||
=== | ; Ziel | ||
* [Benutzer@]Rechnername | |||
* ssh://[Benutzer@]Rechnername[:Port] | |||
=== Umgebung === | |||
=== Rückgabewert === | |||
== Konfiguration == | == Konfiguration == | ||
=== Dateien === | === Dateien === | ||
== Sicherheit == | == Sicherheit == | ||
== Dokumentation == | == Dokumentation == | ||
=== RFC === | === RFC === | ||
=== Man- | === Man-Page === | ||
=== Info-Pages === | === Info-Pages === | ||
== Siehe auch == | |||
== Links == | == Links == | ||
=== Projekt-Homepage === | === Projekt-Homepage === | ||
=== Weblinks === | === Weblinks === | ||
{{DISPLAYTITLE:ssh}} | |||
{{DEFAULTSORT:ssh}} | |||
[[Kategorie:SSH/Befehl]] | |||
[[Kategorie:Netzwerk/Befehl]] | |||
[[Kategorie:Linux/Befehl]] | |||
Aktuelle Version vom 29. Juli 2026, 11:03 Uhr
Der Befehl ssh startet einen Secure Shell-Client zur Anmeldung an einem SSH-Server
Beschreibung

- ssh verbindet sich mit dem angegebenen Ziel und meldet sich dort an
- Es ist zur Bereitstellung sicherer, verschlüsselter Kommunikation zwischen zwei nicht vertrauenswürdigen Rechnern über ein unsicheres Netzwerk gedacht.
- Der Benutzer muss seine/ihre Identitität auf der fernen Maschine mittels einer von mehreren, nachfolgend beschriebenen Methoden nachweisen.
- X11-Verbindungen
- beliebige TCP-Ports und UNIX-domain -Sockets können auch über den sicheren Kanal weitergeleitet werden.
- Ausführung von Befehlen
- Falls ein Befehl angegeben ist, wird er auf dem fernen Rechner statt in einer Anmelde-Shell ausgeführt.
- Als Befehl kann eine komplette Befehlszeile angegeben werden oder er kann zusätzliche Argumente haben.
- Falls angegeben, werden die Argumente an den Befehl, durch Leerzeichen getrennt, angehängt, bevor er an den Server zur Ausführung gesandt wird.
Installation
Anwendung
X-Umleitung
siehe SSH/X-Forwarding
Passwort-Authentifizierung erzwingen
- Testen der Passwort-Authentifizierung
- Die Authentifizierung mit öffentlichem Schlüssel wird hier abgeschaltet
- ssh
$ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@host
- scp
$ scp -o PreferredAuthentications=password -o PubkeyAuthentication=no DATEI user@host:DATEI
Aufruf
$ ssh [OPTIONEN] ZIEL [Befehl]
$ ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B Anbindeschnittstelle] [-b Anbindeadresse] [-c Chiffrespez] [-D [Anbindeadresse:]Port] [-E Protokolldatei] [-e Maskierzeichen] [-F Konfigurationsdatei] [-I PKCS11] [-i Identitätsdatei] [-J Ziel] [-L Adresse] [-l Anmeldename] [-m MAC_Spez] [-O Steuerbefehl] [-o Option] [-p Port] [-Q Abfrageoption] [-R Adresse] [-S Steuerpfad] [-W Rechner:Port] [-w lokaler_Tun[:ferner_Tun]] Ziel [Befehl [Argument …]]
Optionen
| Option | Beschreibung |
|---|---|
| -4 | Erzwingt, dass ssh nur IPv4-Adressen verwendet. |
| -6 | Erzwingt, dass ssh nur IPv6-Adressen verwendet. |
| -A | Aktiviert die Weiterleitung von Verbindungen von Authentifizierungsvermittlern wie ssh-agent(1).
|
| -a | Deaktiviert die Weiterleitung der Authentifizierungsverbindung des Vermittlers. |
| -B Anbindeschnittstelle | Bindet an die Adresse aus Anbindeschnittstelle an, bevor versucht wird, sich mit dem Zielrechner zu verbinden.
|
| -b Anbindeadresse | Verwendet Anbindeadresse auf der lokalen Maschine als Quelladresse der Verbindung.
|
| -C | Fordert die Komprimierung sämtlicher Daten (einschließlich Stdin, Stdout, Stderr und über X11, TCP und UNIX-domain -Verbindungen weitergeleitete Daten).
|
| -c Chiffrespez | Wählt die Chiffrespezifikation für die Kryptografie der Verbindung aus.
|
| -D [Anbindeadresse:]Port | Legt eine lokale, "dynamische", anwendungsbezogene Port-Weiterleitung fest.
IPv6-Adressen können durch Angabe der Adresse in eckigen Klammern festgelegt werden.
|
| -E Protokolldatei | Hängt Fehlersuchprotokolle an Protokolldatei statt an die Standardfehlerausgabe an. |
| -e Maskierzeichen | Setzt das Maskierzeichen für die Sitzung mit einem PTY (Vorgabe: ‘~’).
|
| -F Konfigurationsdatei | Legt eine alternative, benutzerbezogene Konfigurationsdatei fest.
|
| -f | Fordert ssh auf, sich vor der Befehlsausführung in den Hintergrund zu schieben.
|
| -G | Führt dazu, dass ssh nach der Auswertung der Blöcke Host und Match seine Konfiguration anzeigt und sich beendet. |
| -g | Erlaubt es fernen Rechnern, sich mit lokal weitergeleiteten Ports zu verbinden.
diese Option beim Master-Prozess eingesetzt werden. |
| -I PKCS11 | Gibt die dynamische PKCS#11-Bibliothek an, die ssh für die Kommunikation mit einem PKCS#11-Token verwenden soll, der Schlüssel für die Benutzerauthentifizierung bereitstellt. |
| -i Identitätsdatei | Wählt eine Datei, aus der die Identität (der private Schlüssel) für asymmetrische Authentifizierung gelesen wird.
|
| -J Ziel | Verbindet sich zum Zielrechner, indem ssh zuerst eine Verbindung zu dem in Ziel angegebenen Sprungrechner aufbaut und dann dort eine TCP-Weiterleitung zum endgültigen Ziel etabliert.
|
| -K | Aktiviert GSSAPI-basierte Authentifizierung und Weiterleitung (Delegierung) von GSSAPI-Anmeldedaten an den Server. |
| -k | Deaktiviert Weiterleitung (Delegierung) von GSSAPI-Anmeldedaten an den Server. |
| -L [Anbindeadresse:]Port:Rechner:Rechnerport
-L [Anbindeadresse:]Port:fernes_Socket, -L lokales_Socket:Rechner:Rechnerport -L lokales_Socket:Rechner |
Gibt an, dass Verbindungen zu dem angegebenen TCP-Port oder Unix-Socket auf dem lokalen (Client-)Rechner an den angegeben Rechner und Port oder Unix-Socket auf der fernen Seite weitergeleitet werden soll.
Port-Weiterleitung kann auch in der gesamten Konfigurationsdatei festgelegt werden.
Standardmäßig ist der lokale Port gemäß der Einstellung GatewayPorts angebunden.
|
| -l Anmeldename | Gibt den Benutzernamen an, unter dem die Anmeldung in der fernen Maschine erfolgen soll.
|
| -M | Bringt den ssh -Client in den "master" -Modus für die gemeinsame Benutzung von Verbindungen.
|
| -m MAC_Spez | Eine Kommata-getrennte Liste von MAC- (Nachrichtenauthentifizierungscodes-)Algorithmen, in der Reihenfolge der Präferenz angegeben.
|
| -N | Führt keinen Befehl in der Ferne aus.
|
| -n | Leitet Stdin nach /dev/null um (tätsächlich wird des Lesen von Stdin verhindert).
|
| -O Steuerbefehl | Steuert einen aktiven Master-Prozess für Verbindungs-Multiplexing.
|
| -o Option | Kann zur Angabe von Optionen, die wie in der Konfigurationsdatei formatiert sind, verwandt werden.
|
| -p Port | Port, zu dem beim fernen Rechner verbunden werden soll.
|
| -Q Abfrageoption | Erfragt die Algorithmen, die von einem der folgenden Funktionalitäten unterstützt werden: cipher (unterstützte symmetrische Chiffren), cipher-auth (unterstützte symmetrische Chiffren, die authentifizierte Kryptografie unterstützen), help (die für den Einsatz mit dem Schalter -Q unterstützten Abfrageausdrücke), mac (unterstützte Nachrichtenintegritätscodes), kex (Schlüssel-Austauschalgorithmen), kex-gss (GSSAPI-Schlüssel-Austauschalgorithmen), key (Schlüsseltypen), key-cert (Zertifikatsschlüsseltypen), key-plain (nicht-Zertifikatsschlüsseltypen), key-sig (alle Schlüsseltypen und Signaturalgorithmen), Protokollversion (unterstützte SSH-Protokollversionen) und sig (unterstützte Signaturalgorithmen).
|
| -q | Stiller Modus.
|
| -R [Anbindeadresse:]Port:Rechner:Rechnerport
-R [Anbindeadresse:]Port:lokales_Socket -R fernes_Socket:Rechner:Rechnerport -R fernes_Socket:lokales_Socket -R [Anbindeadresse:]Port |
Gibt an, dass Verbindungen zum dem angegebenen TCP-Port oder Unix-Socket auf dem fernen Rechner (Server) an die lokale Seite weitergeleitet werden sollen.
Dazu wird auf der fernen Seite ein Socket bereitgestellt, das entweder auf einem TCP- Port oder einem Unix-Socket auf Anfragen wartet.
Port-Weiterleitungen können auch in der Konfigurationsdatei festgelegt werden.
Standardmäßig werden TCP-Ports auf dem Server, an denen auf Anfragen gewartet wird, nur an die Loopback-Schnittstelle gebunden.
Falls das Argument Port ‘0’ ist, dann wird der Port, an dem auf Anfragen gewartet wird, dynamisch auf dem Server zugewiesen und zur Laufzeit dem Client mitgeteilt.
|
| -S Steuerpfad | Gibt den Ort eines Steuer-Sockets für die gemeinsame Verwendung von Verbindungen oder die Zeichenkette "none" an, um die gemeinsame Verwendung von Verbindungen zu deaktivieren.
|
| -s | Kann dazu verwandt werden, um das Starten eines Subsystems auf dem fernen System zu erbitten.
sicheren Transport für andere Anwendungen (beispielsweise
|
| -T | Deaktiviert Pseudo-Terminal-Zuweisung. |
| -t | Erzwingt Pseudo-Terminal-Zuweisung.
Dies kann zur Implementierung von beispielsweise Menü-Diensten sehr nützlich sein.
|
| -V | Zeigt die Versionnummer an und beendet sich. |
| -v | Ausführlicher Modus.
|
| -W Rechner:Port | Fordert, dass die Standardein- und -ausgabe auf dem Client an Rechner auf Port über den sicheren Kanal weitergeleitet wird.
|
| -w lokaler_Tun[:ferner_Tun] | Fordert Tunnelgerät-Weiterleitung mit den angegebenen tun(4) -Geräten zwischen dem Client (lokaler_Tun) und dem Server (ferner_Tun).
Die Geräte können über numerische Kennungen oder das Schlüsselwort "any", das das nächste verfügbare Tunnelgerät verwendet, angegeben werden. Falls ferner_Tun nicht angegeben ist, ist die Vorgabe "any".
Falls die Direktive Tunnel nicht gesetzt ist, wird sie auf den Standard-Tunnel-Modus ("point-to-point") gesetzt.
|
| -X | Aktiviert X11-Weiterleitung.
X11-Weiterleitung sollte mit Vorsicht aktiviert werden.
Aus diesem Grund unterliegt X11-Weiterleitung standardmäßig den X11-SECURITY-Erweiterungen.
(Debian-spezifisch: X11-Weiterleitung unterliegt derzeit standardmäßig nicht den Einschränkungen der X11-SECURITY-Erweiterungen, da derzeit zu viele Programme in diesem Modus abstürzen.
|
| -x | Deaktiviert X11-Weiterleitung. |
| -Y | Aktiviert vertrauenswürdige X11-Weiterleitung.
|
| -y | Sendet mittels des Systemmoduls syslog(3) Protokollinformationen.
|
Argumente
- Ziel
- [Benutzer@]Rechnername
- ssh://[Benutzer@]Rechnername[:Port]