Android

So richten Sie die passwortlose SSH-Anmeldung ein

Zoom Tutorial: Meeting erstellen in 10 Minuten [Mai 2020]

Zoom Tutorial: Meeting erstellen in 10 Minuten [Mai 2020]

Inhaltsverzeichnis:

Anonim

Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll, das für die sichere Verbindung zwischen einem Client und einem Server verwendet wird und verschiedene Authentifizierungsmechanismen unterstützt. Die beiden beliebtesten Mechanismen sind die kennwortbasierte Authentifizierung und die Authentifizierung mit öffentlichem Schlüssel.

In diesem Tutorial zeigen wir Ihnen, wie Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten und eine Verbindung zu Ihrem Linux-Server herstellen können, ohne ein Kennwort einzugeben.

Richten Sie SSH Passwordless Login ein

Um ein passwortloses SSH-Login unter Linux einzurichten, müssen Sie ~/.ssh/authorized_keys einen öffentlichen Authentifizierungsschlüssel generieren und an die Datei ~/.ssh/authorized_keys des Remote-Hosts anhängen.

In den folgenden Schritten wird der Vorgang zum Konfigurieren der kennwortlosen SSH-Anmeldung beschrieben:

  1. Überprüfen Sie, ob ein SSH-Schlüsselpaar vorhanden ist.

    Bevor Sie ein neues SSH-Schlüsselpaar generieren, prüfen Sie zunächst, ob auf Ihrem Client-Computer bereits ein SSH-Schlüssel vorhanden ist, da Sie Ihre vorhandenen Schlüssel nicht überschreiben möchten.

    Führen Sie den folgenden Befehl ls aus, um festzustellen, ob vorhandene SSH-Schlüssel vorhanden sind:

    ls -al ~/.ssh/id_*.pub

    Wenn bereits Schlüssel vorhanden sind, können Sie diese entweder verwenden und den nächsten Schritt überspringen oder die alten Schlüssel sichern und einen neuen generieren.

    Generieren Sie ein neues SSH-Schlüsselpaar.

    Der folgende Befehl generiert ein neues 4096-Bit-SSH-Schlüsselpaar mit Ihrer E-Mail-Adresse als Kommentar:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"

    Drücken Sie die Enter , um den Standardspeicherort und Dateinamen zu übernehmen:

    Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

    Als Nächstes ssh-keygen Tool ssh-keygen auf, eine sichere Passphrase einzugeben. Ob Sie eine Passphrase verwenden möchten, liegt ganz bei Ihnen. Wenn Sie sich für die Verwendung einer Passphrase entscheiden, erhalten Sie eine zusätzliche Sicherheitsebene. In den meisten Fällen verwenden Entwickler und Systemadministratoren SSH ohne eine Passphrase, da sie für vollautomatisierte Prozesse nützlich sind. Wenn Sie keine Passphrase verwenden möchten, drücken Enter einfach die Enter

    Enter passphrase (empty for no passphrase):

    Die gesamte Interaktion sieht folgendermaßen aus:

    Um sicherzustellen, dass die SSH-Schlüssel generiert werden, können Sie Ihre neuen privaten und öffentlichen Schlüssel folgendermaßen auflisten:

    ls ~/.ssh/id_*

    /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

    Kopieren Sie den öffentlichen Schlüssel

    Nachdem Sie ein SSH-Schlüsselpaar generiert haben, müssen Sie den öffentlichen Schlüssel auf den zu verwaltenden Server kopieren, um sich ohne Kennwort bei Ihrem Server anmelden zu können.

    Der einfachste Weg, Ihren öffentlichen Schlüssel auf Ihren Server zu kopieren, ist die Verwendung eines Befehls namens ssh-copy-id . Auf Ihrem lokalen Computer-Terminaltyp:

    ssh-copy-id remote_username@server_ip_address

    Sie werden aufgefordert, das Kennwort für remote_username :

    remote_username@server_ip_address's password:

    Sobald der Benutzer authentifiziert ist, wird der öffentliche Schlüssel an die Datei authorized_keys Remotebenutzers angehängt und die Verbindung wird geschlossen.

    Wenn aus irgendeinem Grund das Dienstprogramm ssh-copy-id auf Ihrem lokalen Computer nicht verfügbar ist, können Sie den öffentlichen Schlüssel mit dem folgenden Befehl kopieren:

    cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

    Melden Sie sich mit SSH-Schlüsseln bei Ihrem Server an

    Nachdem Sie die obigen Schritte ausgeführt haben, sollten Sie sich beim Remote-Server anmelden können, ohne zur Eingabe eines Kennworts aufgefordert zu werden.

    Versuchen Sie zum Testen einfach, sich über SSH bei Ihrem Server anzumelden:

    ssh remote_username@server_ip_address

    Wenn alles geklappt hat, werden Sie sofort eingeloggt.

Deaktivieren der SSH-Kennwortauthentifizierung

Um Ihrem Server eine zusätzliche Sicherheitsebene hinzuzufügen, können Sie die Kennwortauthentifizierung für SSH deaktivieren.

Stellen Sie vor dem Deaktivieren der SSH-Kennwortauthentifizierung sicher, dass Sie sich ohne Kennwort bei Ihrem Server anmelden können und der Benutzer, mit dem Sie sich anmelden, über sudo-Berechtigungen verfügt.

In den folgenden Tutorials wird beschrieben, wie Sie den sudo-Zugriff konfigurieren:

  1. Melden Sie sich mit SSH-Schlüsseln bei Ihrem Remote-Server an, entweder als Benutzer mit sudo-Berechtigungen oder als root:

    ssh sudo_user@server_ip_address

    Öffnen Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config , suchen Sie nach den folgenden Anweisungen und ändern Sie sie wie folgt:

    / etc / ssh / sshd_config

    PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

    Sobald Sie fertig sind, speichern Sie die Datei und starten Sie den SSH-Dienst neu.

    Führen Sie auf Ubuntu- oder Debian-Servern den folgenden Befehl aus:

    sudo systemctl restart ssh

    Führen Sie auf CentOS- oder Fedora-Servern den folgenden Befehl aus:

    sudo systemctl restart sshd

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten, mit der Sie sich auf Ihrem Remote-Server anmelden können, ohne ein Benutzerkennwort anzugeben. Sie können denselben Schlüssel mehreren Remote-Servern hinzufügen.

Wir haben Ihnen auch gezeigt, wie Sie die SSH-Kennwortauthentifizierung deaktivieren und Ihrem Server eine zusätzliche Sicherheitsebene hinzufügen.

SSH-Sicherheit