Ein nützliches Tool für automatisierte Tests und Logins ohne Passwortabfrage ist der SSH Agent. Dieser speichert die Passwörter über einen gewissen Zeitraum und ermöglicht so zum Beispiel einem Download Script für einen DB Dump diesen automatisch über einen cronjob zu starten, ohne das Passwort jedes mal einzutippen.
Aktuell benötige ich dies für einen Download von einem Adminserver
#!/bin/bash /usr/bin/sftp scintern@1.1.1.1:/backups/2017-08-30data_full.tar.gz /home/micha/dump.tar.gz
Ohne den SSH Agent werde ich jedes mal bei Ausführung nach meinem Passwort für den SSH Key gefragt. Vermeiden kann ich das durch:
eval `ssh-agent -s` ssh-add /home/micha/.ssh/id_rsa
Jetzt einfach den Key eingeben und fertig. Soll der Key nur für eine Zeit lang gespeichert werden, nutze einfach die -t option:
ssh-add -t 4h /home/micha/.ssh/id_rsa
Damit ist die Passphrase nur 4 Stunden gespeichert.