Ihr Leitfaden zur Verwendung von SSH



Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

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.



Kitt



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:

Terminal

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:

ssh

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

port-ssh

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 auskommentieren
X11Forwarding 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 Limits
iptables -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'

Stichworte ssh SSH-Tunneling 4 Minuten gelesen