Wichtige SSH-Befehle und ihre ErklÀrungen
1. SSH-Verbindung zu einem entfernten Host herstellen
- ErklÀrung: Dieser Befehl baut eine SSH-Verbindung zu einem entfernten Host (Server) auf. Der Platzhalter
benutzername
steht fĂŒr den Benutzernamen auf dem entfernten System undremote_host
fĂŒr die IP-Adresse oder den DNS-Namen des Hosts. Beispiel:ssh root@192.168.1.1
stellt eine Verbindung als Benutzer ârootâ zum Host mit der IP-Adresse 192.168.1.1 her.
2. Verbindung mit einem benutzerdefinierten Port herstellen
- ErklĂ€rung: SSH verwendet standardmĂ€Ăig Port 22. Falls der SSH-Server auf einem anderen Port lĂ€uft, kann der Parameter
-p
verwendet werden, um den entsprechenden Port anzugeben. Beispiel:ssh -p 2222 user@server.com
verbindet sich ĂŒber Port 2222.
3. Dateien vom lokalen Rechner auf einen Remote-Host kopieren
- ErklÀrung: Der
scp
-Befehl (Secure Copy) ermöglicht das sichere Kopieren von Dateien ĂŒber SSH. Hier wird die Dateidatei.txt
an den Pfad/ziel/pfad/
auf dem Remote-Host kopiert. Beispiel:scp meinDokument.txt user@192.168.1.1:/home/user/
4. Dateien von einem Remote-Host auf den lokalen Rechner kopieren
- ErklÀrung: Dieser Befehl kopiert eine Datei vom Remote-Host auf das lokale System. Der Quellpfad wird auf dem Remote-Host angegeben, der Zielpfad auf dem lokalen Rechner. Beispiel:
scp user@192.168.1.1:/home/user/file.txt ./
5. Verzeichnisse rekursiv kopieren
- ErklÀrung: Mit dem Flag
-r
(rekursiv) können ganze Verzeichnisse kopiert werden, inklusive Unterverzeichnisse und Dateien. Beispiel:scp -r backup user@192.168.1.1:/home/user/
6. Dateien ĂŒber rsync synchronisieren
-
ErklÀrung:
rsync
synchronisiert Dateien effizient zwischen lokalem Rechner und Remote-Host. Die Flags:-
-a
: Archivmodus (kopiert rekursiv, bewahrt Berechtigungen, Zeitstempel, usw.) -
-v
: Zeigt den Fortschritt (verbose) -
-z
: Komprimiert die Daten wĂ€hrend der Ăbertragung Beispiel:rsync -avz /data/ user@192.168.1.1:/backup/
-
7. SSH-SchlĂŒssel erzeugen (Key-Pair)
-
ErklĂ€rung: Dieser Befehl generiert ein SSH-SchlĂŒsselpaar zur passwortlosen Authentifizierung.
-
-t rsa
: SchĂŒsseltyp RSA -
-b 4096
: SchlĂŒssellĂ€nge von 4096 Bit Nach der Eingabe wird der private und der öffentliche SchlĂŒssel erstellt.
-
8. SSH-SchlĂŒssel auf den Remote-Host kopieren
- ErklĂ€rung: Der öffentliche SchlĂŒssel wird in die Datei
~/.ssh/authorized_keys
des Remote-Hosts eingefĂŒgt, um eine passwortlose Verbindung zu ermöglichen.
9. SSH-Verbindung offen halten (KeepAlive)
- ErklÀrung: Der Parameter
-o ServerAliveInterval=60
sorgt dafĂŒr, dass alle 60 Sekunden ein Signal an den Server gesendet wird, um die Verbindung offen zu halten.
10. Hintergrundprozesse ĂŒber SSH starten
- ErklÀrung: Das Flag
-f
startet die SSH-Verbindung im Hintergrund. Ein Kommando wiesleep 10 &
wird im Hintergrund auf dem Remote-Host ausgefĂŒhrt. Beispiel:ssh -f user@192.168.1.1 "nohup ./backup.sh &"
11. Portweiterleitung (Port Forwarding)
- ErklÀrung: Der
-L
-Parameter leitet Verbindungen von einem lokalen Port zu einem Ziel-Host ĂŒber den SSH-Server weiter. Beispiel:ssh -L 8080:localhost:80 user@192.168.1.1
leitet Port 8080 lokal auf Port 80 des Remote-Hosts weiter.
12. Dynamisches Port Forwarding (SSH-Tunneling)
- ErklÀrung: Mit
-D
wird ein dynamischer SOCKS-Proxy eingerichtet. Alle Verbindungen, die ĂŒber den lokalen Port laufen, werden verschlĂŒsselt ĂŒber den SSH-Tunnel geleitet. Dies ist nĂŒtzlich fĂŒr sichere Internetverbindungen oder das Umgehen von Firewalls. Beispiel:ssh -D 8080 user@192.168.1.1
erstellt einen SOCKS-Proxy auf Port 8080.
13. SSH-Verbindung testen
- ErklÀrung: Mit der Option
-v
(verbose) wird eine detaillierte Debug-Ausgabe wÀhrend des Verbindungsaufbaus angezeigt, um Fehler zu analysieren.
14. SSH-Sitzung beenden
- ErklÀrung: Um die SSH-Sitzung zu beenden, kann entweder der Befehl
exit
eingegeben oder die TastenkombinationCtrl + D
verwendet werden.