SSH (sichere SHell) ist ein Protokoll, das uns hilft, sicher auf Remotecomputer zuzugreifen, im Grunde wie Telnet, aber Verschlüsselungsalgorithmen verwendet, die uns helfen, unsere Verbindung sicher zu halten, insbesondere wenn wir auf Computer zugreifen möchten, die eine wichtige Funktion innerhalb eines Netzwerks ausführen.
Im Allgemeinen müssen wir für den Zugriff unseren Benutzernamen und die Adresse des Computers angeben, damit der SSH-Server uns nach dem Zugriffskennwort fragt:
ssh usuario@equiporemoto
Von dem Moment an, in dem der Client die erste Verbindung zwischen dem Remotecomputer und uns herstellt, sind die Informationen bereits sicher und verhindern, dass jemand unsere Zugangsdaten zu diesem Computer erhält. SSH ist jedoch ein sehr anpassbares Protokoll, das uns viele Möglichkeiten bietet.
SCP
Die erste Möglichkeit besteht darin, Dateien zwischen dem Client und dem Remotecomputer übertragen zu können, ohne dass ein FTP- oder NFS-Server bereitgestellt werden muss, indem einfach SCP (Secure CoPy) verwendet wird, das die meisten SSH-Server implementieren:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
SSH-Tunneling
Diese Funktion ist sehr nützlich, da wir damit Informationen senden und empfangen können, bei denen es sich nicht unbedingt um Shell-Befehle zwischen dem Client und dem Remotecomputer handelt, z. B. beim normalen Surfen. Wenn Sie nicht wissen, welchen Nutzen dies haben könnte, denken Sie an Folgendes: Sie müssen auf eine Seite zugreifen, aber an dem Ort, an dem Sie sich befinden, ist eine Firewall implementiert, die genau diese Seite blockiert. Daher können wir mit einer Fernbedienung "tunneln" Computer, der diese Sperren nicht hat, und Durchsuchen dieser Seite durch unsere SSH-Sitzung:
ssh -D 8888 usuario@equiporemoto
Sobald die Verbindung hergestellt ist, überwacht unser SSH-Client Port 8888 als Proxyserver, sodass wir unseren Browser konfigurieren können und der gesamte Datenverkehr über die SSH-Sitzung übertragen wird
Ein anderes Beispiel, das mir einfällt, ist, wenn wir aufgrund einer geografischen Einschränkung nicht auf einen Webdienst zugreifen können, von dem aus wir uns beim Erstellen des Tunnels befinden. Dieser Webdienst erkennt die IP unseres Remote-Servers als Quelle und nicht als Client-IP. Dies entspricht in etwa VPNs (Virtual Private Network).
SSH umkehren
Wenn wir aus irgendeinem Grund auf einen Computer zugreifen müssen, der sich hinter einer Firewall befindet und der es uns nicht erlaubt, SSH-Verkehr darauf umzuleiten, können wir einen "Reverse SSH" durchführen, so dass dieser Computer eine Verbindung zu einem anderen SSH-Server herstellt. an dem wir uns auch verbinden können, um auf die Geräte hinter der Firewall zuzugreifen. Ein Beispiel, das mir in den Sinn kommt, ist, wenn wir einem Freund helfen möchten, der keine Ahnung hat, wie eine Umleitung auf seinem Modem konfiguriert werden soll, aber remote auf seinen Computer zugreifen müssen:
Freund -> Modem -> SSH-Server <- Über uns
Die folgenden Schritte sind relativ einfach:
Amigo
ssh -R 9999:localhost:22 usuario@servidorssh
Uber uns
ssh usuario@servidorssh
Sobald wir uns auf dem SSH-Server befinden, können wir uns mit dem Team unseres Freundes verbinden
ssh amigo@localhost -p 9999
Wie Sie sehen können, liegt die ganze Magie im Parameter -R, der dem Zwischenserver mitteilt, dass der Computer unseres Freundes an Port 9999 jetzt als Server lauscht.
Dies sind nur einige Möglichkeiten, die SSH uns bietet, aber ich lade Sie ein, zum Beispiel mit einigen weiteren zu experimentieren. Wir können unbeaufsichtigte Skripte mit RSA-Schlüsseln erstellen und X-Sitzungen (grafischer Modus) in unsere grafische Umgebung umleiten, um nur einige zu nennen.