<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://coolscript.net/index.php?action=history&amp;feed=atom&amp;title=OpenSSH_Public_Key_Authentifizierung</id>
	<title>OpenSSH Public Key Authentifizierung - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://coolscript.net/index.php?action=history&amp;feed=atom&amp;title=OpenSSH_Public_Key_Authentifizierung"/>
	<link rel="alternate" type="text/html" href="https://coolscript.net/index.php?title=OpenSSH_Public_Key_Authentifizierung&amp;action=history"/>
	<updated>2026-06-02T18:20:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://coolscript.net/index.php?title=OpenSSH_Public_Key_Authentifizierung&amp;diff=237&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;Dieser Artikel zeigt, wie ein &#039;&#039;&#039;SSH-Zugang&#039;&#039;&#039; für eine Authentifizierung mittels &#039;&#039;&#039;Public-Key-Verfahren&#039;&#039;&#039; konfiguriert wird. Dazu wird am Client ein Schlüsselpaar erstell...&quot;</title>
		<link rel="alternate" type="text/html" href="https://coolscript.net/index.php?title=OpenSSH_Public_Key_Authentifizierung&amp;diff=237&amp;oldid=prev"/>
		<updated>2020-12-22T12:36:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Dieser Artikel zeigt, wie ein &amp;#039;&amp;#039;&amp;#039;SSH-Zugang&amp;#039;&amp;#039;&amp;#039; für eine Authentifizierung mittels &amp;#039;&amp;#039;&amp;#039;Public-Key-Verfahren&amp;#039;&amp;#039;&amp;#039; konfiguriert wird. Dazu wird am Client ein Schlüsselpaar erstell...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Dieser Artikel zeigt, wie ein &amp;#039;&amp;#039;&amp;#039;SSH-Zugang&amp;#039;&amp;#039;&amp;#039; für eine Authentifizierung mittels &amp;#039;&amp;#039;&amp;#039;Public-Key-Verfahren&amp;#039;&amp;#039;&amp;#039; konfiguriert wird. Dazu wird am Client ein Schlüsselpaar erstellt, der öffentliche Teil der Schlüssel auf den Server übertragen und anschließend der Server für die Schlüssel-Authentifizierung eingerichtet. Der Benutzer kann sich dadurch ohne Login-Passwort am Server anmelden, es wird ausschließlich das Passwort zum Schutz des privaten Schlüssels benötigt.&lt;br /&gt;
Die verwendeten Betriebssysteme in diesem Artikel sind einerseits ein &amp;#039;&amp;#039;&amp;#039;Ubuntu 12.10 am Client&amp;#039;&amp;#039;&amp;#039; und andererseits ein &amp;#039;&amp;#039;&amp;#039;Ubuntu 12.04 am Server&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Express Setup ==&lt;br /&gt;
*Client (the one who wants to ssh without password)&lt;br /&gt;
&lt;br /&gt;
1:&lt;br /&gt;
 # ssh-keygen -t rsa -b 4096&lt;br /&gt;
2:&lt;br /&gt;
 ssh-copy-id ip-or-name&lt;br /&gt;
&lt;br /&gt;
== Am Client ==&lt;br /&gt;
=== Schlüsselpaar generieren ===&lt;br /&gt;
Im ersten Schritt wird am Client ein Schlüsselpaar mit &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; erstellt. Für die RSA-Schlüssel wird eine Bitlänge von 4096 Bit ausgewählt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ ssh-keygen -b 4096&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/gschoenb/.ssh/id_rsa): /home/gschoenb/.ssh/key_rsa&lt;br /&gt;
Enter passphrase (empty for no passphrase): &lt;br /&gt;
Enter same passphrase again: &lt;br /&gt;
Your identification has been saved in /home/gschoenb/.ssh/key_rsa.&lt;br /&gt;
Your public key has been saved in /home/gschoenb/.ssh/key_rsa.pub.&lt;br /&gt;
The key fingerprint is:&lt;br /&gt;
20:69:c5:c3:e2:2d:a8:09:49:b9:d9:ee:ca:f9:45:5e gschoenb@gschoenb-X220&lt;br /&gt;
The key&amp;#039;s randomart image is:&lt;br /&gt;
+--[ RSA 4096]----+&lt;br /&gt;
|  .  o.          |&lt;br /&gt;
| o  .o+          |&lt;br /&gt;
|..+o+o..         |&lt;br /&gt;
|oo.oo...         |&lt;br /&gt;
|.o.  o ES        |&lt;br /&gt;
|o  .o .          |&lt;br /&gt;
|  .  o           |&lt;br /&gt;
|. ...            |&lt;br /&gt;
| +o.             |&lt;br /&gt;
+-----------------+&lt;br /&gt;
:~$ ls .ssh/&lt;br /&gt;
id_rsa  id_rsa.pub  key_rsa  key_rsa.pub  known_hosts  known_hosts.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Achtung:&amp;#039;&amp;#039;&amp;#039; Es wird aus sicherheitstechnischen Gründen empfohlen, den Schlüssel auf jeden Fall mit einer Passphrase zu schützen. Dadurch liegt der Schlüssel nicht im Klartext vor, sondern ist AES-CBC verschlüsselt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ cat .ssh/key_rsa&lt;br /&gt;
-----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
Proc-Type: 4,ENCRYPTED&lt;br /&gt;
DEK-Info: AES-128-CBC,426FD49B9F6277AC00D62B08547D5FDE&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sollte der private Schlüssel von einem Angreifer gestohlen werden, muss dieser, um mit dem Schlüssel auf den Server zugreifen zu können, noch das Passwort des Schlüssels herausfinden. Beim einem Schlüssel, der im Klartext vorliegt, kann ein Angreifer mit einem gestohlenen Schlüssel direkt auf den Server zugreifen.&lt;br /&gt;
&lt;br /&gt;
=== Öffentl. Schlüssel auf Server übertragen ===&lt;br /&gt;
Für das Übertragen des öffentlichen Schlüssels auf den Server wird im ersten Schritt noch die SSH-Verbindung mittels Passwort-Authentifizierung genutzt. Das Werkzeug &amp;lt;code&amp;gt;ssh-copy-id&amp;lt;/code&amp;gt; kopiert das entsprechende Idendity-File auf den Server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ ssh-copy-id -i .ssh/key_rsa.pub tktest@192.168.56.101&lt;br /&gt;
tktest@192.168.56.101&amp;#039;s password: &lt;br /&gt;
Now try logging into the machine, with &amp;quot;ssh &amp;#039;tktest@192.168.56.101&amp;#039;&amp;quot;, and check in:&lt;br /&gt;
&lt;br /&gt;
  ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
to make sure we haven&amp;#039;t added extra keys that you weren&amp;#039;t expecting.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das oben genannte Prozedere hat &amp;#039;&amp;#039;&amp;#039;am Server&amp;#039;&amp;#039;&amp;#039; in der Datei &amp;lt;code&amp;gt;/home/tktest/.ssh/authorized_keys&amp;lt;/code&amp;gt; folgenden Eintrag erstellt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ cat .ssh/authorized_keys &lt;br /&gt;
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7qmegDxzv1omqG2cWM+i+qaEGzCoSBwqCeXyGUU93sTqtNYYHJVGj6YZqXeXEGzJtKm2A/uo59Y+WmqhJgW7HcT2Hqvo80NfbIRhqE9TJETyBe&lt;br /&gt;
GiiC8qpiYgPC2zigCNvTsRXh0CH5FJ1qy4QEBjztQDWOqSrsoOSJEEWCJiKJizTiXDmlGdiKE409GBo8lvlbMRWbrMj3iX825WTqy/T0Pio1kqANDotLnPA0sRXUPVyzc/ghzqRHzFetzP9j7C0nh&lt;br /&gt;
EvjiJphiuYvhbgix79FrCQG0lXBGcAWzsWUeAoT/d3kQu79+UTWxm+z4pnJ7gkKVMejqrWys560SdAqD264dc5UBRGI9j6XxVKdraSaEitDneONrSAt2tE/RwRxh2ASxqQfdF88zyDI8/ma608tHc&lt;br /&gt;
FROaNsn5hF+/wzjRK9akdhp5WjA5HXhg2OlkwKvSMhGlSgotRj5pr4Ebxjegysy1mEWRFN/vh/oNq4uHQy8adpfogaVELkI/Z2nuAdQk+uMy6D1hrKhUWubmBPxTbG00IWF25Tyuz8hnFRP9+gB/P&lt;br /&gt;
NRlF59/EHy27a72nirvuOyfxKnx/Mn+FD9Ah59OSLhWuo3sN9Im8yc2cliecwMz+DmTtE7TwzNw9v2zfxU9JDQwyLtppULiGpmKFOLHjz+SVGxSbVsWS//IyNK1GrQ== gschoenb@gschoenb-X220&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Testen der Key-Authentifizierung ===&lt;br /&gt;
Nachdem sich nun der öffentlich. Schlüssel am Server befindet, kann vom Client aus die Verbindung getestet werden. Wichtig ist dabei, dass &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039; nach dem Passwort des Benutzers am Server gefragt wird, sondern die Passphrase, mit der der Schlüssel geschützt ist, verlangt wird!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ ssh -i .ssh/key_rsa tktest@192.168.56.101&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Daraufhin erscheint bei GUI-basierten Systemen die folgende Dialog-Box:&lt;br /&gt;
[[Datei:OpenSSH-Public-Key-Dialog.png|center|500px]]&lt;br /&gt;
Nach Eingabe des Passworts, mit dem der Schlüssel beim Erstellen geschützt wurde, ist man am System authentifiziert:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ ssh -i .ssh/key_rsa tktest@192.168.56.101&lt;br /&gt;
Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-23-generic x86_64)&lt;br /&gt;
&lt;br /&gt;
 * Documentation:  https://help.ubuntu.com/&lt;br /&gt;
&lt;br /&gt;
  System information as of Thu Jan 17 13:51:19 CET 2013&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Am Server ==&lt;br /&gt;
=== sshd-Konfiguration ===&lt;br /&gt;
Grundsätzlich genügt es unter Ubuntu, das oben angeführte Prozedere für die Public-Key-Authentifizierung durchzuführen. In manchen Situationen macht es dann auch Sinn, Passwort-Authentifizierung komplett zu deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Achtung:&amp;#039;&amp;#039;&amp;#039; Nach Änderung der folgenden Einstellung, ist es nicht mehr möglich, sich mit einem Passwort über ssh anzumelden: &amp;lt;code&amp;gt;PasswordAuthentication no&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ sudo diff /etc/ssh/sshd_config /etc/ssh/sshd_config.orig&lt;br /&gt;
51c51&lt;br /&gt;
&amp;lt; PasswordAuthentication no&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; #PasswordAuthentication yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vom &amp;#039;&amp;#039;&amp;#039;Client&amp;#039;&amp;#039;&amp;#039; aus wird die Verbindung ein weiteres Mal getestet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ ssh -i .ssh/key_rsa tktest@192.168.56.101&lt;br /&gt;
Agent admitted failure to sign using the key.&lt;br /&gt;
Permission denied (publickey).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Im oben genannten Beispiel wurde der Dialog zum Eingeben des Schlüssel-Passworts abgebrochen. Da das Anmelden via Passwort deaktiviert wurde, war die Anmeldung am System nicht möglich.&lt;br /&gt;
&lt;br /&gt;
=== Passwort-Authentifizierung nur für einen User verbieten ===&lt;br /&gt;
Eine weitere Möglichkeit, bei der Passwort-Authentifizierung nicht komplett deaktiviert wird, ist die Passwort-Anmeldung für spezielle User zu deaktivieren. Dadurch kann sich z.B. einem User, der am Server keine sudo-Rechte besitzt am Server anmelden. Um root-Rechte zu erlangen muss daraufhin zumindest ein weiteres Passwort eine Users mit sudo-Rechten herausgefunden werden. Außerdem gibt es die Möglichkeit, User komplett von ssh auszunehmen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:~$ sudo diff /etc/ssh/sshd_config /etc/ssh/sshd_config.orig&lt;br /&gt;
88,91d87&lt;br /&gt;
&amp;lt; &lt;br /&gt;
&amp;lt; DenyUsers test&lt;br /&gt;
&amp;lt; Match User tktest&lt;br /&gt;
&amp;lt;     PasswordAuthentication no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieses Beispiel:&lt;br /&gt;
* Verbietet den SSH-Zugang für den User &amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt;&lt;br /&gt;
* Deaktiviert die Passwort-Authentifizierung für den User &amp;lt;code&amp;gt;tktest&amp;lt;/code&amp;gt;&lt;br /&gt;
* Für alle anderen User bleibt die Passwort-Authentifizierung erhalten.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>