Ssh: Unterschied zwischen den Versionen
K Dirkwagner verschob die Seite Ssh:client nach Ssh |
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
||
(29 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 | ; 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. | * Es ist zur Bereitstellung sicherer, verschlüsselter Kommunikation zwischen zwei nicht vertrauenswürdigen Rechnern über ein unsicheres Netzwerk gedacht. | ||
Zeile 15: | Zeile 16: | ||
== 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="wikitable sortable" | {| class="wikitable sortable options" | ||
|- | |- | ||
! Option !! Beschreibung | ! Option !! Beschreibung | ||
Zeile 99: | Zeile 64: | ||
* 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. | ||
Zeile 180: | Zeile 145: | ||
|- | |- | ||
| -M || Bringt den ssh -Client in den “master” -Modus für die gemeinsame Benutzung von Verbindungen. | | -M || Bringt den ssh -Client in den “master” -Modus für die gemeinsame Benutzung von Verbindungen. | ||
* 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 (z.B. Öffnen einer neuen Sitzung). | * 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 (z. B. Ö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 207: | 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 240: | Zeile 205: | ||
| -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 (z.B. | sicheren Transport für andere Anwendungen (z. B. | ||
* sftp(1)). | * sftp(1)). | ||
* Das Subsystem wird als der ferne Befehl angegeben. | * Das Subsystem wird als der ferne Befehl angegeben. | ||
Zeile 294: | Zeile 259: | ||
|} | |} | ||
=== | === Parameter === | ||
=== | ; 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 === | ||
[[Kategorie:SSH]] | |||
[[Kategorie:Linux/Befehl]] | |||
{{DISPLAYTITLE:ssh | {{DISPLAYTITLE:ssh}} | ||
{{DEFAULTSORT:ssh | {{DEFAULTSORT:ssh}} | ||
[[Kategorie:Netzwerk/Befehl]] |
Aktuelle Version vom 12. November 2024, 19:39 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 (z. B.
|
-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.
|
Parameter
- Ziel
- [Benutzer@]Rechnername
- ssh://[Benutzer@]Rechnername[:Port]