Pertanyaan :Bagaimana menjalankan perintah scp tanpa meminta kata sandi di Linux?
Operasi tanpa kata sandi dapat ditambahkan ke cron atau jadwal untuk mengurangi intervensi manual. Berbagai metode operasi penyalinan termasuk rsync, bacula, dan keygen dengan scp.
1. Buat kunci menggunakan ssh-keygen untuk setiap pengguna dan server tertentu. Misalnya, Anda dapat mengikuti ini:
# 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. | +-----------------+
Kita dapat melihat kunci yang dihasilkan seperti yang ditunjukkan di bawah ini dengan .pub ekstensi:
# 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. Setelah kunci publik dibuat, salin file .pub sebagai authorized_keys di bawah .ssh direktori di bawah rumah pengguna untuk pengguna di server tujuan. Setelah selesai, coba lakukan ssh yang akan terhubung tanpa kata sandi.
# cat .ssh/id_rsa.pub | ssh root@server2 'cat >> .ssh/authorized_keys'
# ssh root@server2
Sekarang Anda dapat menyalin file menggunakan scp seperti yang ditunjukkan di bawah ini:
# scp test_file.txt root@server2:/tmp/ test_file.txt 100% 20 0.0KB/s 00:00