SSH ist ein Netzwerkprotokoll, das in einer Konsole funktioniert. Der am häufigsten verwendete SSH-Client ist PuTTy. Das Bild unten zeigt eine eingerichtete SSH-Sitzung. Es ist einfach zu bedienen und schnell. Die meisten IT-Experten verwalten das gesamte Netzwerk aufgrund der Sicherheit und des schnellen / einfachen Zugriffs auf Verwaltungs- und Verwaltungsaufgaben auf dem Server ausschließlich über SSH. Die gesamte Sitzung in SSH ist verschlüsselt. Die wichtigsten Protokolle für SSH sind SSH1 / SSH-1 und SSH2 / SSH-2. SSH-2 ist das letztere, sicherer als SSH-1. Ein Linux-Betriebssystem verfügt über ein integriertes Dienstprogramm namens Terminal für den Zugriff auf die Konsole, und für einen Windows-Computer ist ein SSH-Client (z. B. PuTTy) erforderlich.
Zugriff auf einen Remote-Host über SSH
Um mit SSH auf einen Remote-Host / Computer zugreifen zu können, benötigen Sie Folgendes:
zu) PuTTy (kostenloser SSH-Client)
b) SSH-Server-Benutzername
c) SSH-Serverkennwort
d) SSH-Port Dies ist normalerweise 22, aber da 22 Standard ist, sollte es auf einen anderen Port geändert werden, um Angriffe auf diesen Port zu vermeiden.
In einer Linux-Maschine ist die Benutzername root ist standardmäßig der Administrator und enthält alle Administratorrechte.
In Terminal wird mit dem folgenden Befehl eine Verbindung zum Server hergestellt.
ssh root@192.168.1.1
Dabei ist root der Benutzername und 192.168.1.1 die Hostadresse
So sieht das Terminal aus:
Ihre Befehle werden nach dem eingegeben $ Symbol . Verwenden Sie die folgende Syntax, um Hilfe bei Befehlen in Terminal / Putty zu erhalten:
Mann ssh
Mann Befehl
Mann, gefolgt von einem Befehl, gibt die Befehlsführung auf dem Bildschirm zurück
Was ich jetzt tun werde, ist SSH, das PuTTy in meinem Debian-Betriebssystem verwendet, das auf VMWare ausgeführt wird.
Aber bevor ich das mache, muss ich SSH aktivieren, indem ich mich bei meinem VM Debian anmelde. Wenn Sie gerade einen Server von einem Hosting-Unternehmen gekauft haben, können Sie ihn auffordern, SSH für Sie zu aktivieren.
Verwenden Sie zum Aktivieren von ssh
sudo /etc/init.d/ssh Neustart
Da ich Ubuntu benutze und ssh nicht installiert war, also
Verwenden Sie diese Befehle, um ssh zu installieren
sudo apt-get install openssh-client
sudo apt-get install openssh-server
Und hier ist, was ich habe, über PuTTy bei SSH angemeldet:
Dies ist nun erforderlich, um SSH einzurichten und eine Sitzung über PuTTy einzurichten. Im Folgenden werden einige grundlegende erweiterte Funktionen behandelt, die Ihnen langsam einen besseren Überblick über das gesamte Szenario geben.
Die Standard-SSH-Konfigurationsdatei befindet sich unter: / etc / ssh / sshd_config
So zeigen Sie die Konfigurationsdatei an: cat / etc / ssh / sshd_config
So bearbeiten Sie die Konfigurationsdatei: vi / etc / ssh / sshd_config oder nano / etc / ssh / sshd_config
Verwenden Sie nach dem Bearbeiten einer Datei STRG + X und Y drücken, um es zu speichern und zu beenden (Nano-Editor)
Der SSH-Port kann aus der Konfigurationsdatei geändert werden, der Standardport ist 22. Die grundlegenden Befehle cat, vi und nano funktionieren auch für andere Dinge. Um mehr über Befehle zu erfahren, Verwenden Sie die Google-Suche.
Wenn Sie Änderungen an einer Konfigurationsdatei vornehmen, ist für diesen Dienst ein Neustart erforderlich. Nehmen wir an, wir möchten jetzt unseren Port ändern. Wir werden also die Datei sshd_config bearbeiten und verwenden
nano / etc / ssh / sshd_config
Sie müssen als Administrator angemeldet sein oder verwenden sudo nano / etc / ssh / sshd_config um die Datei zu bearbeiten. Starten Sie den ssh-Dienst nach der Bearbeitung neu. sudo /etc/init.d/ssh Neustart
Wenn Sie einen Port ändern, müssen Sie ihn in Ihren IPTABLES zulassen, wenn Sie die Standard-Firewall verwenden.
iptables -I INPUT -p tcp –dport 5000 -j ACCEPT/etc/rc.d/init.d/iptables speichern
Fragen Sie die iptables ab, um zu bestätigen, ob der Port geöffnet ist
iptables -nL | grep 5000
Die Konfigurationsdatei enthält mehrere Anweisungen. Wie bereits erwähnt, gibt es zwei Protokolle für SSH (1 und 2). Wenn es auf 1 gesetzt ist, ändern Sie es auf 2.
Unten ist ein Teil meiner Konfigurationsdatei:
# Paketgenerierte Konfigurationsdatei
# Weitere Informationen finden Sie in der Manpage sshd_config (5)
# Auf welche Ports, IPs und Protokolle wir achten
Port 5000 Nummer 22 durch Port ersetzt
# Verwenden Sie diese Optionen, um einzuschränken, an welche Schnittstellen / Protokolle sshd gebunden wird
#ListenAddress ::
#ListenAddress 0.0.0.0
Protokoll 2 ersetzte Protokoll 1 durch 2
Vergessen Sie nicht, den Dienst nach Änderungen neu zu starten
Root ist der Administrator, und es wird empfohlen, ihn zu deaktivieren. Andernfalls können Sie, wenn Sie für Remoteverbindungen offen sind, einem Brute-Force-Angriff oder anderen SSH-Sicherheitslücken ausgesetzt sein - Linux-Server sind die beliebtesten Boxen von Hackern. die Richtlinie LoginGraceTime , legt ein Zeitlimit für die Anmeldung und Authentifizierung des Benutzers fest. Wenn der Benutzer dies nicht tut, wird die Verbindung geschlossen. Behalten Sie die Standardeinstellung bei.
# Authentifizierung:
LoginGraceTime 120
PermitRootLogin-Nr
StrictModes ja
Ein super cooles Feature ist das Schlüsselauthentifizierung (PubkeyAuthentication) - Mit dieser Funktion können Sie nur die schlüsselbasierte Authentifizierung einrichten, wie dies bei Amazon EC3-Servern der Fall ist. Sie können nur mit Ihrem privaten Schlüssel auf den Server zugreifen, er ist sehr sicher. Damit dies funktioniert, müssen Sie ein Schlüsselpaar generieren und diesen privaten Schlüssel zu Ihrem Remotecomputer hinzufügen und den öffentlichen Schlüssel zum Server hinzufügen, damit mit diesem Schlüssel auf ihn zugegriffen werden kann.
PubkeyAuthentication ja
AuthorizedKeysFile .ssh / autorisierte_Tasten
RSAAuthentication ja
PasswordAuthentication No.
Dadurch wird jedes Kennwort verweigert und Benutzer können nur mit einem Schlüssel darauf zugreifen.
In einem professionellen Netzwerk informieren Sie Ihre Benutzer normalerweise darüber, was sie tun dürfen und was nicht, sowie über alle anderen erforderlichen Informationen
Die für Banner zu bearbeitende Konfigurationsdatei lautet: / etc / motd
Geben Sie Folgendes ein, um die Datei im Editor zu öffnen: nano / etc / motd oder sudo / etc / motd
Bearbeiten Sie die Datei wie im Editor.
Sie können das Banner auch in eine Datei einfügen und in der Datei / etc / motd darauf verweisen
z.B: nano banner.txt erstellt eine banner.txt-Datei und öffnet sofort den Editor.
Bearbeiten Sie das Banner und drücken Sie Strg + x / y, um es zu speichern. Verweisen Sie dann in der motd-Datei mit
Banner /home/users/appualscom/banner.txt ODER was auch immer, der Dateipfad ist.
Genau wie das Banner können Sie auch vor der Anmeldeaufforderung eine Nachricht hinzufügen, die Datei zum Bearbeiten ist / etc / issue
SSH-Tunneling
Mit SSH-Tunneling können Sie den Datenverkehr von Ihrem lokalen Computer zu einem Remote-Computer tunneln. Es wird über SSH-Protokolle erstellt und verschlüsselt. Lesen Sie den Artikel über SSH-Tunneling
Grafische Sitzung über SSH-Tunnel
Aktivieren Sie die Grafik- / GUI-Sitzung, indem Sie die folgende Zeile auskommentierenX11Forwarding ja
Am Ende des Clients wäre der Befehl:
ssh -X root@10.10.10.111
Sie können Programme wie Firefox usw. mit einfachen Befehlen ausführen:
Feuerfuchs
Wenn Sie einen Anzeigefehler erhalten, stellen Sie die Adresse ein:
export DISPLAY = IP-Adresse der Maschine: 0.0
TCP-Wrapper
Wenn Sie ausgewählte Hosts zulassen und einige ablehnen möchten, müssen Sie diese Dateien bearbeiten
1. /etc/hosts.allow
2. /etc/hosts.deny
Um ein paar Hosts zuzulassen
sshd: 10.10.10.111
Fügen Sie die folgende Zeile in /etc/hosts.deny hinzu, um zu verhindern, dass alle Benutzer auf Ihren Server zugreifen
sshd: ALL
SCP - Sichere Kopie
SCP - Secure Copy ist ein Dienstprogramm zur Dateiübertragung. Sie müssen den folgenden Befehl verwenden, um Dateien über ssh zu kopieren / übertragen.
Der folgende Befehl kopiert myfile am 10.10.10.111 nach / home / user2
scp / home / user / myfile root@10.10.10.111: / home / user2
scp Quellzielsyntax
So kopieren Sie einen Ordner
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2
Suchen nach Dateien auf einem Remote-Computer
Es ist sehr einfach, auf einem Remotecomputer nach Dateien zu suchen und die Ausgabe auf Ihrem System anzuzeigen. So suchen Sie Dateien auf einem Remotecomputer
ssh root@10.10.10.111 'find / home / user -name' * .jpg ''Der Befehl sucht im Verzeichnis / home / user nach allen * .jpg-Dateien, mit denen Sie spielen können. find / -name durchsucht das gesamte Verzeichnis / root.
Zusätzliche SSH-Sicherheit
Mit iptables können Sie zeitbasierte Einschränkungen festlegen. Die folgenden Befehle blockieren den Benutzer für 120 Sekunden, wenn er sich nicht authentifiziert. Sie können den Parameter / second / hour / minute oder / day im Befehl verwenden, um den Zeitraum anzugeben.
Zeitbasierte Limitsiptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -m limit –limit 120 / second –limit -burst 1 -j ACCEPT
iptables -A INPUT -p tcp -m state –syn –state NEW –dport 5000 -j DROP
5000 ist der Port, ändern Sie ihn gemäß Ihren Einstellungen .
Zulassen der Authentifizierung von einer bestimmten IP
iptables -A INPUT -p tcp -m state –state NEW –source 10.10.10.111 –dport 22 -j ACCEPT
Andere nützliche Befehle
Fügen Sie einen Bildschirm über SSH hinzu
ssh -t root@10.10.10.111 screen –r
SSH-Übertragungsgeschwindigkeitsprüfung
ja | pv | ssh $root@10.10.10.111 'cat> / dev / null'