Benutzer-Werkzeuge

Webseiten-Werkzeuge


it:linux:ssh_public_key_authentication

SSH Public Key Authentication

Um die öffentlichen und privaten Schlüsseldateien zu erzeugen,
können Sie den SSH-Keygen-Befehl verwenden, der mit OpenSSH installiert wird.

ssh-keygen -t rsa

Sie werden jetzt aufgefordert, in den passphrase einzugehen.
Ein guter passphrase sollte mindestens 10 - 20 Charaktere lange sein, und eine Mischung von alphanumerischen und Zeichensetzungscharakteren verwenden.

Enter passphrase (empty for no passphrase):

Es ist unklug ein Schlüssel ohne passphrases zu haben. Wenn jemand gerade die private Schlüsseldatei kopiert,
werden sie Zugang zu allen Daten haben.
Verwenden Sie den folgenden Befehl, wenn Sie jemals passphrase ändern wollen:

ssh-keygen -p

Ihre öffentliche Schlüsseldatei ist jetzt ~/.ssh/id_rsa.pub dieser Schlüssel kann mit jedem geteilt werden.
Ihre private Schlüsseldatei ist jetzt ~/.ssh/id_rsa dieser Schlüssel muss heimlich behalten werden.

Schlüsselinstallation

Sie müssen jetzt Ihre öffentliche Schlüsseldatei dem entfernten Gastgeber kopieren, auf dem Sie im Stande sein wollen, öffentliche Schlüsselbeglaubigung zu verwenden.

ssh-copy-id -i ~/.ssh/id_rsa.pub username@zielhostnameODERip

manuelle Schlüsselinstallation

Um den Schlüssel zu installieren, muss den Schlüssel zum ~/.ssh/authorized_keys Datei auf jedem Gastgeber anhängen, auf dem Sie es verwenden möchten.

# copy the key to the remote host
scp ~/.ssh/id_rsa.pub user@remotehost:id_rsa.pub
# ssh into the remote host using your password
ssh user@remotehost
# append the public key
cat id_rsa.pub >> ~/.ssh/authorized_keys
rm id_rsa.pub

öffentliche Schlüsselbeglaubigung

Datei: /etc/ssh/sshd_config

ChallengeResponseAuthentication no
PasswordAuthentication no

SSH Dienst restarten

/etc/init.d/sshd restart

Alternative Doku

ssh ohne Passwort mit öffentlichen Schlüsseln (Public Key)

Voraussetzung: auf beiden Systemen ist ssh installiert und läuft, sowie /root/.ssh/ Ordner existiert, wenn nicht dann erstellen mit:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Beispiel: System A zugreift über ssh auf Zielsystem B, um irgendwelche Befehle auszuführen, z.b. aus crontab:

*/1 * * * * rsync -avz -e ssh root@zielsystem:/var/log/logfile.log /var/log/logfolder/ 1> /dev/null 2> /dev/null
  • Mit ssh auf System A anmelden und ein key erstellen mit:

ssh-keygen -t rsa

  • Erstelltes key auf Zielsystem B kopieren

cat ~/.ssh/id_rsa.pub | ssh root@zielsystemhostname 'cat » .ssh/authorized_keys'

  • ssh Anmeldung testen, bei erstem Anmelden mit „yes“ bestätigen:

ssh zielsystemhostname

  • Danach kann über ssh ohne Passwort zugegriefen und kommunieziert werden.
Bei dem hier beschriebenen Verfahren liegt der Schlüssel auf Rechner A unverschlüsselt vor.
Ein Angreifer, der Zugriff auf A als Benutzer a erlangt, hat damit automatisch Zugriff auf Rechner B als Benutzer b.
Indem Sie auf "Akzeptieren" im Cookie-Banner auf der Website klicken, stimmen Sie der Verwendung von Cookies, einschließlich ähnlicher Technologien (wie Fingerprinting) sowie Website-Analyse-Tools (im Folgenden „Cookies“) im Einklang mit dieser Cookie-Richtlinie zu. Diese Wahl gilt dann bis zu Ihrem Widerruf (bspw. durch Löschen von Cookies) für diese Webseite und auch für andere Webpräsenzen der Marke dieser Webseite. Sind Sie nicht damit einverstanden, dass wir Cookies auf diese Weise verwenden, sollten Sie entsprechende Einstellungen an Ihrem Browser vornehmen. Die Cookies und Analysedaten werden gelöscht, wenn Sie im Cookie-Banner auf der Website auf "Ablehnen" klicken oder die Schaltfläche am Ende dieser Cookie-Richtlinie auf "Alle Unilever-Cookies ablehnen" setzen. Wenn Sie die Cookies, die wir verwenden, deaktivieren, kann dies Ihre Nutzungsmöglichkeiten auf den Unilever-Webseiten beeinträchtigen. Bestimmte Funktionalitäten auf der Website (z.B. Videos oder Online Buying) können Sie nur nutzen, wenn Cookies akzeptiert werden. Weitere Information
it/linux/ssh_public_key_authentication.txt · Zuletzt geändert: 2019/05/14 21:16 (Externe Bearbeitung)