aus HisWiki
3.10.3.2.2 Entfernen der Passworteingabe unter Unix

Damit die Passworteingabe unter Unix entfällt, muss man wie folgt vorgehen:

Loggen Sie sich zunächst testweise einmal ein. Wenn Sie z.B. vom COB-Server auf den SuperX-Server kopieren wollen, loggen Sie sich als user cob auf cobhost ein mit
ssh superx@superxhost

Beim ersten Mal müssen Sie die Sicherheitsabfrage mit "yes" bestätigen.

Erzeugen Sie auf dem Quellrechner einen öffentlichen Schlüssel mittels ssh-keygen -t rsa , wobei man eine leere Passphrase vergibt (Achtung: mögliche Sicherheitslücke!). Der öffentliche Teil dieses Schlüssels (~/.ssh/id_rsa.pub ) muss auf dem Zielrechner in die Datei ~/.ssh/authorized_keys eingefügt werden, ggf. muss die Datei neu erzeugt werden.

Wenn z.B. auf dem COB-Server unter der Kennung cob ein Key wie folgt erzeugt wurde:

 

Beispieleintrag eines Public Keys

ssh-rsa AAAAB3Nza…[hier viele kryptische Zeichen]

…pg6VkCc= cob@cobhost

 

 

 

 

Dann wird genau diese Zeile in der Datei /home/superx/.ssh/authorized_keys angefügt (die Datei kann mehrere PublicKeys enthalten, ein Eintrag pro Absatz).

Achten Sie auch auf Dateirechte: Die Verzeichnisse und Dateien sollten keine Schreibrechte für Gruppen haben. Im Zweifelsfall z.B. für den user superx:

chmod 700 /home/superx/.ssh

chmod 700 /home/superx/.ssh

chmod 600 /home/superx/.ssh/authorized_keys

Danach sollte z.B. der Login vom cobhost als user cob mit ssh superx@superxhost ohne Passworteingabe klappen. Wenn nicht, schalten Sie das Logging mit ssh -v superx@superxhost ein. Eine Möglichkeit ist, dass die PublicKey-Authentifizierung in der Konfigurationsdatei des SSHD (normal /etc/ssh/ssh_config ) abgeschaltet ist. Weitere Diagnosen liefert die Datei /var/log/messages .

Sie können außerdem noch einschränken, von welchem Host die obige Authentifizierung ermöglicht wird. Dazu setzen Sie den Parameter "from=*.uni-xy.de" davor, z.B.

 

Einschränkung "from"
in authorized_keys

from="*. uni-xy.de " ssh-rsa AAAAB3Nza…[hier viele kryptische

Zeichen]…pg6VkCc= cob@cobhost

 

Wenn Sie die Kopiermethode scp benutzen, und die obige "authorized_keys"-Metohde mit PublicKey nicht nutzen wollen, können Sie auch mit Private Keys arbeiten (siehe SSH-Doku). Dazu können sie in der *_ENV-Datei in dem Parameter SCP_OPTS den Verweis auf den private Key setzen.

SCP_OPTS in *_ENV:
Beispiel COB_ENV

SCP_OPTS="-p -B -i /home/cob/.ssh/superx_key"

export SCP_OPTS