Maverick143 telah memberikan jawaban, tetapi pertanyaan ini tidak benar-benar menjadi milik StackOverflow karena tidak ada hubungannya dengan pemrograman. SuperUser.com akan lebih relevan.
Sekarang atur sshagar tidak meminta kata sandi saat Anda melakukan ssh. Gunakan ssh-keygendi server lokal untuk menghasilkan kunci publik dan pribadi.
$ ssh-keygen
Masukkan frasa sandi (kosong tanpa frasa sandi):
Masukkan frasa sandi yang sama lagi: Catatan: Saat meminta Anda memasukkan frasa sandi cukup tekan tombol enter, dan jangan berikan kata sandi apa pun di sini.
3. ssh-copy-id menyalin kunci publik ke host jarak jauh
Gunakan ssh-copy-id, untuk menyalin kunci publik ke host jarak jauh.
Catatan: Di atas akan menanyakan kata sandi untuk akun pengguna pada host jarak jauh, dan menyalin kunci publik secara otomatis ke lokasi yang sesuai. Jika ssh-copy-id tidak berfungsi untuk Anda, gunakan metode yang kita bahas sebelumnya untuk mengatur kata sandi ssh lebih sedikit login.
4. Lakukan rsync lewat ssh tanpa kata sandi
Sekarang, Anda harus dapat ssh ke host jarak jauh tanpa memasukkan kata sandi.
Jika Anda perlu menggunakan pengguna yang berbeda, Anda dapat melakukannya saat Anda melakukan ssh-copy-id: ssh-copy-id -i ~ / .ssh / id_rsa.pub [email protected]
Finni McFinger
1
Buat kunci publik di ServerA
$ ssh-keygen
$ Enter passphrase (empty for no passphrase):
$ Enter same passphrase again:
Kunci publik akan dibuat dan disimpan di
~/.ssh/id_rsa.pub
Salin kunci publik ke host jarak jauh
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
Atau
Buka id_rsa.pub, salin kontennya
Login ke ServerB menggunakan pengguna yang sama dalam perintah rsync
Di ServerB, tambahkan konten ke ~/.ssh/authorized_keys. Buat file jika tidak ada. Pastikan mode file adalah 700.
Semua saran rsync ini gagal menggunakan versi terbaru pada bulan Agustus 2017 di Ubuntu 16.04 LTS. Tidak satu pun dari mereka yang berfungsi.
Mereka juga berbagi kekurangan yang membutuhkan daemon rsync yang berjalan di server file.
Jawaban ini berfungsi dengan NAS Linux generik
DI SINI LANGKAH:
1) GUNAKAN rsync seperti yang ditunjukkan di bawah ini. (ke direktori di bawah / mnt atau / media yang Anda buat atau di perangkat yang Anda pasang. tidak masalah yang mana) 2) TRANSFER file DENGAN scp seperti yang ditunjukkan di bawah ini. FileZilla juga akan berfungsi.
Semua ini (kecuali FileZilla) dapat bekerja di cron tanpa kata sandi.
Pengaturan ini bekerja dengan sangat baik. Satu-satunya waktu Anda memerlukan kata sandi adalah ketika Anda mengatur ssh-copy-id awal untuk mengatur login tanpa kata sandi RSA. Kemudian Anda memprogramnya ke FileZilla sekali. Setelah itu, hari demi hari, tidak ada kata sandi yang muncul. Ini mudah. Dan bagian terbaiknya adalah Anda dapat menggunakan semua manfaat dari program rsync.
Jawaban ini menjelaskan cara menggunakan rsync sendiri tanpa kata sandi.
Juga, tidak perlu menginstal daemon lain (rsync) di kedua sistem.
Saya memiliki hard drive kedua jadi saya menggunakan rsync untuk menyalin boot drive ke subdirektori di sdb1 (dipasang di bawah / mnt dan dikecualikan dari rsync).
Jika Anda tidak memiliki hard drive fisik, dan memiliki cukup ruang, Anda cukup membuat subdirektori di bawah / mnt (atau / media) dan menggunakannya.
Selama direktori tersebut dikecualikan, tidak masalah apakah itu pada drive yang terpisah atau tidak.
Berikut ini skrip cadangan:
cls
echo "EMPTYING TRASH"
rm ~/.local.share/Trash/*
echo "====================================================================="
echo " BEGINNING rsync from root to /mnt/full/sysbkp"
echo "====================================================================="
time sudo rsync -aAXv / --delete --ignore-errors --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/full/mysystem
SETELAH rsync gunakan skrip:
Saya selalu membuat direktori baru pada NASserver target: / mnt / fullsys / mysystem sehingga hanya file yang relevan yang ditransfer.
Voila! Butuh beberapa saat tetapi kemudian selesai.
Kedua skrip dapat bekerja dengan baik di cron.
Alternatifnya adalah menggunakan FileZilla untuk mengirimkannya ke server NAS secara manual.
Karena bisa ada penghapusan saya selalu make a new directory and enter itvia FileZilla pada HDD 1TB target jadi hanya file yang relevan yang ditransfer.
Hanya ketika transfer selesai saya menghapus versi yang lebih lama.
Meskipun ini mungkin menjawab pertanyaan, itu akan menjadi jawaban yang lebih baik jika Anda bisa memberikan penjelasan mengapa itu bisa terjadi.
DavidPostill
Juga sintaksisnya. Saya percaya ini digunakan sebagai pengganti perintah seperti ini: rsync -aAVx $(ssh-copy-id -i /home/myusername/.ssh/id_rsa.pub)maka semua excludesdan --deletelain - lain. Saya belum membuatnya bekerja tetapi ini adalah yang paling dekat yang saya lihat. Seharusnya Anda harus melakukan ini bahkan jika Anda sudah bisa sshdan scpke server target, dan daemon rsync perlu dijalankan karena tidak menggunakan format sftp normal. Saya masih mencari.
Jawaban:
Di bawah ini adalah artikel dari The Geek Stuff :
sumber
Buat kunci publik di ServerA
Kunci publik akan dibuat dan disimpan di
Salin kunci publik ke host jarak jauh
Atau
~/.ssh/authorized_keys
. Buat file jika tidak ada. Pastikan mode file adalah 700.sumber
Semua saran rsync ini gagal menggunakan versi terbaru pada bulan Agustus 2017 di Ubuntu 16.04 LTS. Tidak satu pun dari mereka yang berfungsi.
Mereka juga berbagi kekurangan yang membutuhkan daemon rsync yang berjalan di server file.
Jawaban ini berfungsi dengan NAS Linux generik
DI SINI LANGKAH:
1) GUNAKAN rsync seperti yang ditunjukkan di bawah ini. (ke direktori di bawah / mnt atau / media yang Anda buat atau di perangkat yang Anda pasang. tidak masalah yang mana) 2) TRANSFER file DENGAN scp seperti yang ditunjukkan di bawah ini. FileZilla juga akan berfungsi.
Semua ini (kecuali FileZilla) dapat bekerja di cron tanpa kata sandi.
Pengaturan ini bekerja dengan sangat baik. Satu-satunya waktu Anda memerlukan kata sandi adalah ketika Anda mengatur ssh-copy-id awal untuk mengatur login tanpa kata sandi RSA. Kemudian Anda memprogramnya ke FileZilla sekali. Setelah itu, hari demi hari, tidak ada kata sandi yang muncul. Ini mudah. Dan bagian terbaiknya adalah Anda dapat menggunakan semua manfaat dari program rsync.
Jawaban ini menjelaskan cara menggunakan rsync sendiri tanpa kata sandi.
Juga, tidak perlu menginstal daemon lain (rsync) di kedua sistem.
Jika Anda belum melakukannya, lakukan ini:
dan mengujinya dengan ini:
dan mungkin sesuatu seperti ini:
Saya memiliki hard drive kedua jadi saya menggunakan rsync untuk menyalin boot drive ke subdirektori di sdb1 (dipasang di bawah / mnt dan dikecualikan dari rsync).
Jika Anda tidak memiliki hard drive fisik, dan memiliki cukup ruang, Anda cukup membuat subdirektori di bawah / mnt (atau / media) dan menggunakannya.
Selama direktori tersebut dikecualikan, tidak masalah apakah itu pada drive yang terpisah atau tidak.
Berikut ini skrip cadangan:
SETELAH rsync gunakan skrip:
Voila! Butuh beberapa saat tetapi kemudian selesai.
Kedua skrip dapat bekerja dengan baik di cron.
Alternatifnya adalah menggunakan FileZilla untuk mengirimkannya ke server NAS secara manual.
Hanya ketika transfer selesai saya menghapus versi yang lebih lama.
Voila. Keberhasilan.
sumber
tandai pengguna di alamat akan lebih baik
sumber
rsync -aAVx $(ssh-copy-id -i /home/myusername/.ssh/id_rsa.pub)
maka semuaexcludes
dan--delete
lain - lain. Saya belum membuatnya bekerja tetapi ini adalah yang paling dekat yang saya lihat. Seharusnya Anda harus melakukan ini bahkan jika Anda sudah bisassh
danscp
ke server target, dan daemon rsync perlu dijalankan karena tidak menggunakan format sftp normal. Saya masih mencari.