GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie den Befehl ssh-keygen unter Linux

Verwenden Sie den Befehl ssh-keygen, um ein öffentliches/privates Authentifizierungsschlüsselpaar zu generieren. Authentifizierungsschlüssel ermöglichen es einem Benutzer, eine Verbindung zu einem Remote-System herzustellen, ohne ein Kennwort anzugeben. Schlüssel müssen für jeden Benutzer separat generiert werden. Wenn Sie als Root-Benutzer Schlüsselpaare generieren, kann nur der Root die Schlüssel verwenden.

Das folgende Beispiel erstellt den öffentlichen und den privaten Teil eines RSA-Schlüssels:

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:z6zTVQ/PJYt2o96DrVYClmfcqBG8Pdb8nzqY2m2HjeY root@geeklab
The key's randomart image is:
+---[RSA 2048]----+
|         .       |
|          o      |
|           * =   |
|          * O B .|
|        S. B + O.|
|         +. = = =|
|         .+ooB+.o|
|        ..oo=Bo+.|
|        .o.+*E=. |
+----[SHA256]-----+

Verwenden Sie die Option –t, um den Typ des zu erstellenden Schlüssels anzugeben. Mögliche Werte sind „rsa1 “ für Protokollversion 1 und „dsa “, „ecdsa “ oder „rsa ” für Protokollversion 2.

Sie haben die Möglichkeit, eine Passphrase anzugeben, um den privaten Teil des Schlüssels zu verschlüsseln. Wenn Sie Ihren persönlichen Schlüssel verschlüsseln, müssen Sie die Passphrase jedes Mal angeben, wenn Sie den Schlüssel verwenden. Dadurch wird verhindert, dass ein Angreifer, der Zugriff auf Ihren privaten Schlüssel hat und sich als Sie ausgeben und auf alle Computer zugreifen kann, auf die Sie Zugriff haben, dies tun kann. Der Angreifer muss immer noch die Passphrase angeben.

Der Befehl ssh-key im Beispiel generierte zwei Schlüssel im Verzeichnis ~/.ssh:

$ ls ~/.ssh
id_rsa
id_rsa.pub

Um sich bei einem Remote-System anzumelden oder Dateien dorthin zu kopieren, ohne ein Kennwort anzugeben, kopieren Sie den öffentlichen Schlüssel (in diesem Beispiel ~/.ssh/id_rsa.pub) nach ~/.ssh/authorized_keys auf dem Remote-System. Stellen Sie die Fernbedienung ~/.ssh ein Verzeichnisberechtigungen auf 700 . Sie können dann die ssh- oder scp-Tools verwenden, um auf das Remote-System zuzugreifen, ohne ein Passwort anzugeben.

Um mehrere Verbindungen zuzulassen, hängen Sie den öffentlichen Schlüssel an die Datei „authorized_keys“ auf dem Remote-System an, anstatt ihn zu kopieren. Das folgende Beispiel hängt den öffentlichen Schlüssel an:

$ cat id_rsa.pub >> authorized_keys

Sie können die Systemsicherheit noch weiter verbessern, indem Sie die standardmäßige Kennwortauthentifizierung deaktivieren und die schlüsselbasierte Authentifizierung erzwingen. Setzen Sie dazu die Option PasswordAuthentication in /etc/ssh/sshd_config auf no Konfigurationsdatei wie folgt:

# vi /etc/ssh/sshd_config
PasswordAuthentication no

Dadurch werden Benutzer, deren Schlüssel nicht in den authorized_keys enthalten sind, nicht zugelassen Datei des bestimmten Benutzers auf dem Server, um sich über ssh zu verbinden. Die Verbindung wird verweigert und die folgende Meldung erscheint:

$ ssh host01
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Wenn Sie die Option PasswordAuthentication auf yes setzen, was die Standardeinstellung ist, kann ein Benutzer ein Kennwort zur Authentifizierung verwenden.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Su-Befehl unter Linux

  4. So verwenden Sie den id-Befehl unter Linux

  5. So verwenden Sie den Befehl ssh-keygen, um passwortloses ssh zu konfigurieren

So verwenden Sie den Linux-Ping-Befehl

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux