Lernen Sie sshd_config und autorisierte_Tasten (für Amazon Linux 2)

Inhalt

Erfahren Sie mehr über sshd_config, während Sie die Einstellungen für / etc / ssh / sshd_config von Amazon Linux 2 ändern. Auch autorisierte_Tasten.

Lerne ein wenig sshd_config

Einstellungen, die voraussichtlich vorerst verwendet werden

Bedeutung Entsprechender Teil
Passwortauthentifizierung PasswordAuthentication
Fordern Sie die Antwortauthentifizierung heraus ChallengeResponseAuthentication
Authentifizierung mit öffentlichem Schlüssel PubkeyAuthentication
Root-Login PermitRootLogin
Verbindungsport Port XX(Grundlegend 22)
SSH-Verbindungsversion Protocol

Amazon Linux 2 Grundeinstellungen

Aufbau



#Port 22

#PubkeyAuthentication yes
# the setting of "PermitRootLogin without-password".

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

#PermitRootLogin yes

Welche Art von Einstellung ist gut

Bei der Überprüfung wurden die folgenden Einstellungen gemeinsam verwendet.

・ Verbot der Root-Anmeldung ・ Verbot der Passwortauthentifizierung ・ Authentifizierung mit öffentlichem Schlüssel ・ Nur SSH-Verbindung Verison 2 ist zulässig ・ Deaktivieren Sie die Authentifizierung der Challenge-Antwort

Empfohlener Wert Wert einstellen Vergleich mit empfohlenem Wert
Verbot der Root-Anmeldung #PermitRootLogin yes ×
Fordern Sie die Antwortauthentifizierung heraus ChallengeResponseAuthentication no
Authentifizierung mit öffentlichem Schlüssel zulassen #PubkeyAuthentication yes
Nur SSH-Verbindung Verison 2 erlaubt Ich konnte die Einstellungen nicht finden
Verbot der Passwortauthentifizierung PasswordAuthentication no

Wo ist x? Überprüfen Sie, was passiert, wenn Sie die Verbindung für das versuchen, was war.

Verbot der Root-Anmeldung

Die Einstellungen für die Root-Anmeldung in / etc / ssh / sshd_config waren:

#PermitRootLogin yes

Auf der offiziellen Website heißt es jedoch: Amazon Linux 2

** Standardmäßig sicher ** In Amazon Linux 2 wird der Remotezugriff durch Verwendung von SSH-Schlüsselpaaren und Deaktivieren der Remote-Root-Anmeldung eingeschränkt. Amazon Linux 2 reduziert auch das Risiko von Sicherheitslücken, indem die Anzahl der auf einer Instanz installierten Pakete reduziert wird, obwohl dies nicht erforderlich ist. Sicherheitsupdates mit dem Schweregrad "Kritisch" oder "Kritisch" werden beim ersten Start automatisch angewendet.

Ich bin mir nicht sicher, ob ich es nicht versuche, also werde ich es versuchen.

ss_002.JPG ss_003.JPG

Versuchen Sie, mit Tera Term eine Verbindung mit dem Benutzer ** root ** herzustellen. ...... ....... ........ .........

Please login as the user "ec2-user" rather than the user "root".

Menschen, Menschen, Menschen, Menschen > Nanikore <  ̄Y^Y^Y^Y^Y^Y^ ̄

Infolgedessen konnte ich mich nicht wie offiziell als root anmelden, aber die obige Anweisung wird beim root-Login ausgegeben Ich wollte wissen, wo es eingestellt war, also habe ich es nachgeschlagen und festgestellt, dass es unten eingestellt war.

/root/.ssh/authorized_keys
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10" ssh-rsa <String> <Schlüsselpaarname>

Das Obige ist die Option von authorized_keys, und es scheint, dass Sie verschiedene Einstellungen vornehmen können. Das wusste ich nicht. In diesem Fall wird es vor ssh-rsa aufgeführt.

Möglichkeit Bedeutung
no-port-forwarding Einstellung für das Verbot der Portweiterleitung
no-agent-forwarding Einstellung für das Übertragungsverbot des Authentifizierungsagenten
no-X11-forwarding X11(Bildschirm)Einstellung des Übertragungsverbots
command="command" Festlegen ausführbarer Befehle

Wenn Sie die Option löschen, können Sie sich als root anmelden ...? Versuchen Sie daher nach dem Erstellen eines Backups, vor ssh-rsa zu löschen.

# cp -p /root/.ssh/authorized_keys /root/.ssh/authorized_keys_yyyymmdd
# ls -a /root/.ssh/
# vi /root/.ssh/authorized_keys
# cat /root/.ssh/authorized_keys
# systemctl restart sshd.service

Versuchen Sie eine neue SSH-Verbindung, nachdem die Einstellungen für autorisierte Schlüssel übernommen wurden.

ss_005.JPG Es ist fertig. Ich werde den Benutzer nur für den Fall überprüfen.

# whoami
root

Ich konnte mich einloggen. Mal sehen, was passiert, wenn wir ** # PermitRootLogin yes ** in sshd_config wie folgt ändern, ohne die Option authorized_keys. (Vorher ändern) #PermitRootLogin yes

(Nach der veränderung) PermitRootLogin no

Erstellen Sie eine Sicherungskopie von sshd_config und prüfen Sie, ob Sie eine haben. Ändern Sie danach die Einstellungen entsprechend den Einstellungen.

# cp -p sshd_config sshd_config_yyyymmdd
# ls -l
# vi /etc/ssh/sshd_config
# systemctl restart sshd.service

Versuchen Sie nun, sich mit einer neuen Verbindung als Root anzumelden. ss_003.JPG

ss_006.JPG

** Zertifizierung fehlgeschlagen. Ich kann mich nicht mit der Meldung bei root anmelden. Bitte versuchen Sie es erneut **. Standardmäßig verhindert die Option authorized_keys, dass Sie sich anmelden können. Wenn Sie diese Option entfernen, zeigt sshd_config PermitRootLogin no nicht an. Ich habe festgestellt, dass ich mich als root anmelden kann.

Ergebnis

sshd_config authorized_keys Verfügbarkeit der Verbindung
#PermitRootLogin yes Mit Optionen ×
#PermitRootLogin yes Keine Optionen
PermitRootLogin no Mit Optionen ×
PermitRootLogin no Keine Optionen ×

Es stellt sich heraus, dass es besser ist, PermitRootLogin no in sshd_config festzulegen.

Nur SSH-Verbindung Verison 2 erlaubt

Wählen Sie [** SSH1 **] für die SSH-Version (V) in Tera Term und klicken Sie auf [OK]. ss_000.JPG

ss_001.JPG

... .... .....

Menschen, Menschen, Menschen, Menschen > Ich kann nicht <  ̄Y^Y^Y^Y^Y^Y^ ̄

Es gab keine Protokolleinstellung in / etc / ssh / sshd_config, aber ich fragte mich warum Es wird gesagt, dass SSH v1 in OpenSSH 7.4 abgeschafft wurde. Mit anderen Worten, es wird SSH v2, ohne etwas zu tun. OpenSSH 7.4/7.4p1 (2016-12-19)

  • This release removes server support for the SSH v.1 protocol.

Lassen Sie uns überprüfen, welche Version Amazon Linux 2 ist.

# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

Es war OpenSSH 7.4p1.

Ergebnis

Da SSH v1 von OpenSSH_7.4 abgeschafft wurde, wurde es zu SSH v2, ohne etwas Besonderes zu tun.

das Ende

Zum Schluss möchte ich noch einmal vergleichen.

Empfohlener Wert Wert einstellen Vergleich mit empfohlenem Wert
Verbot der Root-Anmeldung #PermitRootLogin yes
Fordern Sie die Antwortauthentifizierung heraus ChallengeResponseAuthentication no
Authentifizierung mit öffentlichem Schlüssel zulassen #PubkeyAuthentication yes
Nur SSH-Verbindung Verison 2 erlaubt Ich konnte die Einstellungen nicht finden
Verbot der Passwortauthentifizierung PasswordAuthentication no

Es stellt sich heraus, dass es kein Problem mit den oben empfohlenen Werten gibt, auch wenn die anfänglichen Amazon Linux 2-Einstellungen überhaupt nicht festgelegt sind. Ich habe viel gelernt, weil es so viele Dinge gab, die ich nicht wusste.

Recommended Posts

Lernen Sie sshd_config und autorisierte_Tasten (für Amazon Linux 2)
Aufnahme und Wiedergabe unter Linux
Setzen Sie jenv in Amazon Linux ein
Installieren Sie tomcat 5.5 unter Amazon Linux.
Kompilieren und installieren Sie MySQL-Python für Python2.7 unter Amazon Linux
Installieren von Homebrew unter Amazon Linux 2
Installieren Sie Python Pillow unter Amazon Linux
Installieren Sie Oracle Java8 unter Amazon Linux2
Versuchen Sie, OpenAM unter Amazon Linux zu installieren
[Hinweis] Installieren Sie Imagick unter Amzon Linux2
[Hinweis] Führen Sie Django unter Amazon Linux 2 aus
Führen Sie die Python 3.5.2-Umgebung unter Amazon Linux ein
Führen Sie cron unter Amazon Linux aus (unter Linux eingestellt).
Ich werde Ruby auf EC2 (Amazon Linux2) 2020 installieren
Installieren Sie wsl2 und Master Linux unter Windows
Verwenden Sie Numpy, Scipy, Scikit-Learn unter Amazon Linux
So aktualisieren Sie PHP unter Amazon Linux 2
Installieren und starten Sie k3s unter Manjaro Linux
Installieren und konfigurieren Sie den TigerVNC-Server unter Linux
Installieren Sie Python 3.8, Pip 3.8 auf EC2 (Amazon Linux 2)
Installieren Sie Python3 und Django unter Amazon Linux (EC2) und führen Sie den Webserver aus
Invertieren Sie die Bildschirmausgabe unter Linux vertikal und horizontal
Installieren Sie PHP der 7er-Serie unter Amazon Linux 2 mit Amazon Linux Extras
So stellen Sie pyenv unter Amazon Linux und Ubuntu ein, um eine Python 3.6.0-Umgebung zu erstellen
[AWS EC2] So installieren Sie nur den MySQL-Client unter Amazon Linux 2 und stellen eine Verbindung zu RDS her
Geben Sie die Lautstärke unter Linux an und spielen Sie den Sound ab
Erstellen Sie Amazon Linux mit AWS EC2 und melden Sie sich an
Erstellen Sie Apache HTTP Server und Wildfly unter Oracle Linux 8
Erstellen Sie eine Umgebung für MkDocs unter Amazon Linux (versucht)
MySQL-Installation unter Aws Linux 2 und Vorbereitung der Testdaten
Installieren Sie Docker unter Arch Linux und führen Sie es remote aus
[AWS EC2] So installieren Sie Maven unter Amazon Linux 2
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
Ankündigung der Verfügbarkeit von Java 11 LTS unter Amazon Linux 2
[AWS] So erweitern Sie den Speicherplatz unter Amazon Linux
Prozesse unter Linux dämonisieren
Linux (WSL) unter Windows
NAT-Router unter Linux
Entwickeln Sie .NET unter Linux
Wake on Lan unter Linux
Überwachen Sie den Datenverkehr unter Linux
Linux: Dateien und Verzeichnisse
Aktualisieren Sie vscode unter Linux
[Persönlicher Hinweis] Installieren Sie das neueste Java unter Amazon Linux, das bereits Java- und Switch-Versionen enthält
Erstellen Sie LiveUSB unter Linux
Linux-Betrieb unter Win10
Hinweise zum Erstellen von TinyEMU und zum Booten des Linux-Kernels auf Emscripten