connect zum Server mit SSH ohne password

Oft will man mit SSH einen anderen Rechner erreichen ohne immer das Passwort eingeben zu müssen.

(oder bei cronjobs mit scp)

Gegeben ist:

Client = Linux , Host = Linux

auf dem Client einloggen:

den key erzeugen mit ssh-keygen

[worker@command ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/worker/.ssh/id_rsa): /home/worker/.ssh/myKey
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/worker/.ssh/myKey.
Your public key has been saved in /home/worker/.ssh/myKey.pub.
The key fingerprint is:
SHA256:sBSpVgZwkilGVd9qEh9z41jLfJeFf7gsjvunh9zm0ss worker@command.mydomain.com
The key’s randomart image is:
+—[RSA 2048]—-+
|..+=+o.. |
|..oo =.. . |
|.. =o+ = . . |
| o.oo@ o +. |
| . ..=S= . o…|
| o . .. ..|
| ..+o |
| o+o* |
| oo+BE. |
+—-[SHA256]—–+
[worker@command ~]$

Die generierten keyfiles:

[worker@command ~]$ cd .ssh
[worker@command .ssh]$ ls -la

-rw——- 1 worker worker 1679 Nov 9 14:04 myKey
-rw-r–r– 1 worker worker 414 Nov 9 14:04 myKey.pub

Anpassen der Berechtigungen:

chmod 700 ~/.ssh

chmod 700 ~/.ssh/*

[worker@command .ssh]$ ls -la

-rw——- 1 worker worker 1679 Nov 9 14:04 myKey
-rw——- 1 worker worker 414 Nov 9 14:04 myKey.pub

kopieren des keys zum Zielhost:

ssh-copy-id -i ~/.ssh/myKey user@host

Mit diesem Befehl wir der key auf dem Zielserver installiert und zum authorized_keys file hinzugefügt.

keyFile testen:

ssh -i ~/.ssh/myKey user@host

Der Login sollte jetzt ohne Passworteingabe erfolgen.

 

Fehlersuche:

File Berechtigungen richtig ? => chmod 700 ~/.ssh/*

Ziel Server konfiguration ? => /etc/ssh/sshd_config enthält: PubkeyAuthentication yes. => Nach der Änderung = sshd restarten.

keyfile in authorized_keys vorhanden ?

kein root login erlaubt ? => /etc/sshd_config enthält PermitRootLogin yes, PermitRootLogin prohibit-password, oder without-password

 

Für Centos 7.5:

openssh-7.4p1-12.el7_4.x86_64

(ssh-copy-id) openssh-clients-7.4p1-16.el7.x86_64

credits to:

kb.firedaemon.com

ssh.com