Frage :Wie führe ich den scp-Befehl aus, ohne in Linux nach einem Passwort zu fragen?
Der passwortlose Betrieb kann zu Cron oder Zeitplan hinzugefügt werden, um manuelle Eingriffe zu reduzieren. Zu den verschiedenen Kopiermethoden gehören rsync, bacula und keygen mit scp.
1. Generieren Sie einen Schlüssel mit ssh-keygen für einen bestimmten Benutzer und Server. Sie können beispielsweise folgendermaßen vorgehen:
# ssh-keygen -t rsa -b 4096 -C "root@localhost" Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 33:4c:b1:a1:b0:f7:3a:85:0c:85:b9:6b:eb:c6:69:8b root@localhost The key's randomart image is: +--[ RSA 4096]----+ | .o. o | | o+ . + | | o.o o | | .+ = | | .o S | | o o o | | o oo | | .* . | | E+o. | +-----------------+
Wir können den generierten Schlüssel wie unten gezeigt mit .pub sehen Erweiterung:
# ls -l .ssh/ total 8 -rw-------. 1 root root 3239 Aug 13 13:11 id_rsa -rw-r--r--. 1 root root 736 Aug 13 13:11 id_rsa.pub
2. Sobald der öffentliche Schlüssel generiert ist, kopieren Sie die .pub-Datei als authorized_keys unter .ssh Verzeichnis unter Benutzer-Home für den Benutzer auf dem Zielserver. Wenn Sie fertig sind, versuchen Sie, ssh auszuführen, das ohne Passwort eine Verbindung herstellt.
# cat .ssh/id_rsa.pub | ssh root@server2 'cat >> .ssh/authorized_keys'
# ssh root@server2
Jetzt können Sie eine Datei mit scp wie unten gezeigt kopieren:
# scp test_file.txt root@server2:/tmp/ test_file.txt 100% 20 0.0KB/s 00:00