Ihr Leitfaden zur Verwendung von SSH

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 zur Durchführung von 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 letzteres, sicherer als SSH-1. Ein Linux-Betriebssystem hat ein eingebautes Dienstprogramm namens Terminal für den Zugriff auf die Konsole und ein Windows-Rechner erfordert einen SSH-Client (zB PuTTy).

Kitt

Zugreifen auf einen Remote-Host mit SSH

Um mit SSH auf einen entfernten Host/Rechner zuzugreifen, benötigen Sie Folgendes:

ein) PuTTy (Kostenloser SSH-Client)
b) SSH-Server-Benutzername
c) SSH-Server-Passwort
d) SSH-Port das ist normalerweise 22, aber da 22 die Standardeinstellung ist, sollte es auf einen anderen Port geändert werden, um Angriffe auf diesen Port zu vermeiden.

Auf einer Linux-Maschine ist die Benutzername root ist standardmäßig der Administrator und enthält alle Administratorrechte.

Im Terminal initiiert der folgende Befehl eine Verbindung zum Server.

ssh-root@192.168.1.1
wobei root der Benutzername ist und 192.168.1.1 die Hostadresse ist

So sieht das Terminal aus:

Terminal

Ihre Befehle werden nach dem $-Symbol. Um Hilfe zu einem Befehl in Terminal/Putty zu erhalten, verwenden Sie die Syntax:

Mann ssh
Mann Befehl

man, gefolgt von einem beliebigen Befehl, gibt die Befehlsführung auf dem Bildschirm zurück

Was ich jetzt tun werde, ist SSH mit PuTTy in meinem Debian-Betriebssystem, das auf VMWare läuft.

Aber bevor ich das tue, muss ich SSH aktivieren, indem ich mich bei meiner VM Debian anmelde – Wenn Sie gerade einen Server von einem Hosting-Unternehmen gekauft haben, können Sie es anfordern, SSH für Sie zu aktivieren.

Um ssh zu aktivieren, verwenden Sie
sudo /etc/init.d/ssh Neustart

Da ich Ubuntu verwende und ssh nicht installiert wurde, also
Um ssh zu installieren, verwenden Sie diese Befehle
sudo apt-get install openssh-client
sudo apt-get install openssh-server

Und ich habe mich über PuTTy bei SSH angemeldet:

ssh

Nun, das ist es, was Sie brauchen, um SSH einzurichten und eine Sitzung über PuTTy einzurichten. Im Folgenden werde ich einige grundlegende erweiterte Funktionen ansprechen, die Ihnen langsam einen besseren Überblick über das gesamte Szenario geben.

Die Standard-SSH-Konfigurationsdatei befindet sich unter: /etc/ssh/sshd_config
Um die Konfigurationsdatei anzuzeigen, verwenden Sie: Katze /etc/ssh/sshd_config
Um die Konfigurationsdatei zu bearbeiten, verwenden Sie: vi /etc/ssh/sshd_config oder nano /etc/ssh/sshd_config

Nachdem Sie eine Datei bearbeitet haben, verwenden Sie STRG + X und drücken Sie die Y-Taste, um es zu speichern und zu beenden (Nano-Editor)

Der SSH-Port kann in 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, die Google-Suche verwenden.

Wenn Sie Änderungen an einer Konfigurationsdatei vornehmen, ist ein Neustart für diesen Dienst erforderlich. Gehen wir weiter und nehmen wir an, dass wir jetzt unseren Port ändern möchten, also bearbeiten wir die sshd_config-Datei, und ich würde 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. Nachdem es bearbeitet wurde, starten Sie den ssh-Dienst neu, sudo /etc/init.d/ssh Neustart

Wenn Sie einen Port ändern, stellen Sie sicher, dass 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

Es gibt mehrere Direktiven in der Konfigurationsdatei, wie bereits erwähnt, gibt es zwei Protokolle für SSH (1 & 2). Wenn es auf 1 gesetzt ist, ändern Sie es auf 2.

Unten ist ein bisschen meiner Konfigurationsdatei:

# Paketgenerierte Konfigurationsdatei
# Weitere Informationen finden Sie auf 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 bindet
#ListenAddress ::
#ListenAddress 0.0.0.0
Protokoll 2 ersetzt Protokoll 1 durch 2

Vergessen Sie nicht, den Dienst neu zu starten, nachdem Sie Änderungen vorgenommen haben

Root ist der Administrator, und es wird empfohlen, ihn zu deaktivieren. Andernfalls können Sie, wenn Sie für Remote-Verbindungen offen sind, Gegenstand von Brute-Force-Angriffen oder anderen SSH-Schwachstellen werden – Linux-Server sind die beliebtesten Boxen von Hackern. die richtlinie AnmeldenGraceTime, richtet ein Zeitlimit für Benutzer ein, sich anzumelden und zu authentifizieren, wenn der Benutzer dies nicht tut, wird die Verbindung geschlossen – belassen Sie dies auf Standard.

# 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 wir es bei Amazon EC3-Servern sehen. 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 Remote-Computer hinzufügen und den öffentlichen Schlüssel zum Server hinzufügen, damit mit diesem Schlüssel darauf zugegriffen werden kann.

PubkeyAuthentifizierung ja
AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentifizierung ja
PasswortAuthentifizierungsnr

Dadurch wird jedes Kennwort verweigert und Benutzern nur der Zugriff mit einem Schlüssel gewährt.

In einem professionellen Netzwerk würden Sie Ihre Benutzer normalerweise darüber informieren, was sie tun dürfen und was nicht, und alle anderen notwendigen Informationen

Die zu bearbeitende Konfigurationsdatei für Banner lautet: /etc/motd
Um die Datei im Editor zu öffnen, geben Sie Folgendes ein: nano /etc/motd oder sudo /etc/motd

Bearbeiten Sie die Datei wie im Editor.

Sie können das Banner auch in einer Datei platzieren und in /etc/motd . referenzieren

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 lautet.

Genau wie beim Banner können Sie auch vor der Anmeldeaufforderung eine Nachricht hinzufügen, die Datei zum Bearbeiten lautet /etc/ausgabe

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 ist 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
X11Weiterleitung ja

Auf der Seite des Clients wäre der Befehl:
ssh -X root@10.10.10.111

Sie können Programme wie Firefox usw. ausführen, indem Sie einfache Befehle verwenden:
Feuerfuchs

Wenn Sie einen Anzeigefehler erhalten, legen Sie die Adresse fest:
export DISPLAY=IPAdressederMaschine:0.0

TCP-Wrapper

Wenn Sie ausgewählte Hosts zulassen und einige verweigern 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

Um alle daran zu hindern, in Ihren Server einzudringen, fügen Sie die folgende Zeile in /etc/hosts.deny . hinzu
sshd: ALLE

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/zu übertragen.

Der folgende Befehl kopiert myfile nach /home/user2 am 10.10.10.111
scp /home/user/myfile root@10.10.10.111:/home/user2
scp-Quellziel-Syntax

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 entfernten Computer nach Dateien zu suchen und die Ausgabe auf Ihrem System anzuzeigen. So durchsuchen Sie Dateien auf einem Remote-Computer


ssh root@10.10.10.111 „finde /home/user –name ‘*.jpg’“

Der Befehl sucht im Verzeichnis /home/user nach allen *.jpg-Dateien, Sie können damit spielen. find / -name durchsucht das gesamte /root-Verzeichnis.

Zusätzliche SSH-Sicherheit

Mit iptables können Sie zeitbasierte Beschränkungen festlegen. Die folgenden Befehle blockieren den Benutzer für 120 Sekunden, wenn er sich nicht authentifizieren kann. 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/sec –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.

Authentifizierung von einer bestimmten IP zulassen
iptables -A INPUT -p tcp -m state –state NEU –source 10.10.10.111 –dport 22 -j ACCEPT

Andere nützliche Befehle

Anhängen eines Bildschirms über SSH
ssh -t root@10.10.10.111 Bildschirm –r
Überprüfung der SSH-Übertragungsgeschwindigkeit
ja | pv | ssh $root@10.10.10.111 „cat > /dev/null“

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *