sudo einrichten auf CentOS / Ubuntu / OpenSUSE

sudo einrichten auf CentOS / Ubuntu / OpenSUSE: How-to:

Es gibt drei Methoden, um einen Benutzer für sudo zu konfigurieren:

Methode 1:  Über das Verzeichnis /etc/sudoers.d:

Melden Sie sich als root an und erstellen Sie eine neue Datei im Verzeichnis /etc/sudoers.d, normalerweise mit dem gleichen Namen wie der Benutzer, mit folgendem Inhalt:

Im folgenden Beispiel kann der Benutzer mazhar jeden Befehl von überall her ausführen

Die richtigen Berechtigungen für die Datei festlegen

Methode 2: Den gleichen Inhalt am Ende der Datei /etc/sudoers hinzufügen

Die Datei /etc/sudoers muss mit dem Befehl „visudo“ bearbeitet werden:

Methode 3. Den Benutzer zu einer Gruppe hinzufügen, die bereits über sudo-Berechtigungen verfügt

CentOS / OpenSUSE:

Ubuntu:

 

Melden Sie sich mit dem Benutzer an und testen Sie das sudo

Ich empfehle noch eine weitere Einstellung, da man sonst möglicherweise den vollständigen Pfad für die ausführbaren Dateien (Executables) angeben muss. Der Grund dafür ist, dass der Befehl „sudo“ den Pfad des Benutzers erbt und nicht den des root.

Fügen Sie Folgendes zur .bashrc -Datei in Ihrem Home-Verzeichnis hinzu:

Diese Einstellungen werden nach dem erneuten Einloggen wirksam.

Anmerkung: ALL=(ALL) ALL, Was bedeutet das?

ALL= Auf allen Hosts (Wenn viele Computer die gleiche sudoer-Datei verwenden)
(ALL) = Als beliebiger Zielbenutzer
ALL = Kann jeden beliebigen Befehl ausführen

Man kann die für einen Benutzer erlaubten Berechtigungen auch einschränken. Lesen Sie dazu die Datei /etc/sudoers, die sehr gut selbst dokumentiert ist.

SSH Public Key Authentifizierung mit Putty: How-to

How-to: SSH Public Key Authentifizierung mit Putty auf dem Windows Rechner

Für das „How-to“ SSH Public Key Authentifizierung auf dem Linux-Server und dem Linux-Client klicken Sie hier

Die Anweisungen sind für die drei wichtigsten Linux-Distributionsfamilien – Redhat/Fedora (CentOS), SUSE (OpenSUSE) und Debian (Ubuntu) – gleich:

Verwendete Programme bzw. Befehle:

puttygen.exe: Zur Generierung des RSA-Schlüssels
pageant.exe: Zur Zwischenspeicherung des privaten Schlüssels, um die Verwendung des privaten Schlüssels zu erleichtern
putty.exe: SSH-Client

Schritt 1: Den Remoteserver vorbereiten

  • Öffnen Sie die Datei /etc/ssh/ssh/sshd_config und überprüfen Sie folgende Parameter:

Der Parameter PasswordAuthentication kann auf „no“ gesetzt werden, nachdem die Keybased Authentifizierung eingerichtet und erfolgreich getestet wurde.

  • Setzen Sie die entsprechenden Dateizugriffsrechte:

Das ist erforderlich, wenn in /etc/ssh/ssh/sshd_config der Parameter StrictModes auf yes gesetzt ist. Dieser Parameter wird verwendet, um festzulegen, ob sshd die Berechtigungen des Home -Verzeichnisses überprüfen soll, bevor die SSH-Verbindung akzeptiert wird.

  • Wenn SELinux aktiviert ist, stellen Sie die standardmäßigen SELinux-Kontexte wieder her:

  • Starten Sie den sshd-Dienst neu:

Schritt 2 (auf demWindows Rechner): Den Key Generator „puttygen.exe“ von https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html herunterladen und ausführen

Schritt 3: Public und Private Keys mit puttygen erzeugen

  • Bewegen Sie die Maus über das App-Fenster, um die Keys zu generieren

  • Nachdem die Keys generiert wurden, kopieren Sie den Public Key im open-ssh-Format

Schritt 4: Den Public Key manuell zur Liste der autorisierten Keys auf dem Remote-Server hinzugefügen

  • Melden Sie sich dazu auf dem Remote-Server an und fügen Sie den Public Key hinzu Datei $HOME/.ssh/authorized_keys.

  • Ändern der Dateiberechtigungen des .ssh Ordner auf 700. Ansonsten werden die Keys abgelehnt

  • Ändern der Dateiberechtigungen der authorized_keys auf 600. Ansonsten werden die Keys abgelehnt

Schritt 5: Auf dem keygen -Tool eine Passphrase für den Privaten Key eingeben und die Public und Private Keys auf dem Windows Rechner speichern

Anmerkung:
Es ist nicht notwendig, eine Passphrase anzugeben. Ich empfehle jedoch dringend, eine Passphrase zu verwenden. Die Passphrase wird verwendet, um einen weiteren Key zu generieren, der den Privaten -Key an sich verschlüsselt. Dies ist eine zusätzliche Sicherheitsstufe. Falls der Private Key kompromittiert wird, kann er ohne die Passphrase nicht verwendet werden.

Schritt 6: einen neuen SSH Host einrichten

Öffnen Sie den Putty und richten Sie einen neuen SSH-Host ein:

  • Geben Sie den Benutzer, den Host und den Port an

  • Geben Sie unter Connection > SSH > Auth den Pfad für den Private Key an

  • Speichern Sie die Konfiguration

Schritt 7: die Schlüssel-basierte Authentifizierung auf Funktionstüchtigkeit überprüfen

Öffnen Sie eine ssh-Sitzung mit dem Remote-Server mit der gespeicherten Konfiguration:

 

Anmerkung: Wenn ich keine Passphrase verwendet hätte, wäre ich direkt angemeldet gewesen, ohne nach der Passphrase gefragt zu werden

Schritt 8: die Passwort-Authentifizierung auf dem Remote-Server deaktivieren (dringend empfohlen)

Öffnen Sie die Datei /etc/ssh/ssh/sshd_config und überprüfen Sie folgende Parameter:

Sie möchten nicht bei jedem Login die Passphrase eingeben müssen? Verwenden Sie den Putty SSH-AGENT.

Putty SSH-AGENT:

Wenn man die Passphrase nicht jedes Mal eingeben möchte, kann man den putty ssh-agent zur Verwaltung der privaten Schlüssel und Passphrasen verwenden. Dafür:

  • Den Putty ssh-agent “ exe “ von https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html herunterladen und ausführen
  • Klicken Sie auf „Add Key“, wählen Sie den Privaten Key und geben Sie bei Aufforderung die Passphrase ein.

 

  • Klicken Sie anschließend auf „Close“
  • Nun läuft der ssh-agent im Hintergrund. In Putty selbst muss man den Privaten Key nicht mehr angeben. Stellen Sie jedoch sicher, dass im Putty der Haken “ Attempt authentication using Pagent“ gesetzt ist

Das war’s!

SSH Key-Basierte Authentifizierung Linux Client: How-to

How-to: SSH Key-Basierte Authentifizierung auf dem Linux-Server und dem Linux-Client

Für die SSH Key-Basierte Authentifizierung mit Putty klicken Sie hier

Die Anweisungen sind für die drei wichtigsten Linux-Distributionsfamilien – Redhat/Fedora (CentOS), SUSE (OpenSUSE) und Debian (Ubuntu) – gleich:

Verwendete Programme bzw. Befehle:

ssh-keygen: Zur Generierung des RSA-Schlüssels
ssh-agent: Zur Zwischenspeicherung des privaten Schlüssels, um die Verwendung des privaten Schlüssels zu erleichtern
ssh-copy-id: Zum Kopieren des öffentlichen Schlüssels auf dem Remote-Server Schritt 1: Den Remoteserver vorbereiten

Schritt 1: Den Remoteserver vorbereiten

  • Öffnen Sie die Datei /etc/ssh/ssh/sshd_config und überprüfen Sie folgende Parameter:

Der Parameter PasswordAuthentication kann auf „no“ gesetzt werden, nachdem die Keybased Authentifizierung eingerichtet und erfolgreich getestet wurde.

  • Setzen Sie die entsprechenden Dateizugriffsrechte:

Das ist erforderlich, wenn in /etc/ssh/ssh/sshd_config der Parameter StrictModes auf yes gesetzt ist. Dieser Parameter wird verwendet, um festzulegen, ob sshd die Berechtigungen des Home -Verzeichnisses überprüfen soll, bevor die SSH-Verbindung akzeptiert wird.

  • Wenn SELinux aktiviert ist, stellen Sie die standardmäßigen SELinux-Kontexte wieder her:

  • Starten Sie den sshd-Dienst neu:

Schritt 2: Public und Private Keys erzeugen (auf dem Client Rechner)

  • Geben Sie den Typ, die Länge, den Namen und den Pfad der Keys ein. Wenn Sie eine Passphrase verwenden möchten, geben Sie diese ein. Andernfalls drücken Sie einfach die Enter-Taste

Anmerkung:

Es ist nicht notwendig, eine Passphrase anzugeben. Ich empfehle jedoch dringend, eine Passphrase zu verwenden. Dies ist eine zusätzliche Sicherheitsstufe. Falls der Private Key kompromittiert wird, kann er ohne die Passphrase nicht mehr verwendet werden.

Im folgenden Beispiel werde ich einen 2048-Bit-RSA-Schlüssel mit Standardnamen und Pfad erzeugen. Der Standardpfad lautet $HOME/.ssh.

Im obigen Beispiel ist id_rsa der Private Schlüssel (Private Key) und id_rsa.pub der öffentliche Schlüssel (Public Key).

Schritt 3: Den Public Key (id_rsa.pub) zur Liste der autorisierten Keys auf dem Remote-Server hinzufügen

  • Standardmäßig werden die autorisierten Keys in &HOME/.ssh/authorized_keys gespeichert. Wenn die Datei &HOME/.ssh/authorized_keys auf dem Remote-Server nicht existiert, erstellen Sie sie.

  • Sie können den öffentlichen Schlüssel manuell oder mit dem Befehl ssh-copy-id kopieren. Nachfolgend ist das Beispiel ssh-copy-id aufgeführt:

Schritt 4:  Den ssh-agent starten und den privaten Schlüssel zum SSH -Agent hinzufügen

Anmerkung: Wieso „eval“?

Wenn man nur ssh-agent eintippt, gibt das Programm die Umgebungsvariablen aus, die für die Verbindung mit dem ssh-agent erforderlich sind. z.B.

Durch den Aufruf von „eval“ werden diese Umgebungsvariablen sofort in die Umgebung geladen.

Schritt 5: Schlüssel-basierte Authentifizierung auf Funktionstüchtigkeit überprüfen

Anmerkung: Wenn ich keine Passphrase verwendet hätte, wäre ich direkt angemeldet gewesen, ohne nach der Passphrase gefragt zu werden.

Schritt 6: die Passwort-Authentifizierung auf dem Remote-Server deaktivieren (dringend empfohlen)

Öffnen Sie die Datei /etc/ssh/ssh/sshd_config und überprüfen Sie folgende Parameter:

Das war’s!