Saat ini saya jauh dari LAN saya dan saya perlu melakukan backup laptop saya. Saya memiliki salinan laptop saya yang agak baru di server saya dan saya biasanya mendukung laptop menggunakan rsync. Sekarang saya ingin melakukan itu, tetapi di luar LAN saya.
Singkatnya saya ingin mengirim data dari A ke C melalui B, di mana A adalah laptop saya, B router saya dan C server saya.
Saya menemukan perintah ini:, A$ scp -oProxyCommand="ssh B nc %h %p" thefile C:destination
yang berfungsi dengan baik untuk mentransfer file melalui scp - tetapi karena saya sudah memiliki sebagian besar data di server saya, saya ingin menggunakan rsync untuk hanya menyinkronkan delta.
Saya telah mencoba:, A$ rsync file -e 'ssh B ssh' C
dan itu berfungsi sejauh saya diminta untuk memberikan kata sandi bagi pengguna: C. Namun, ketika saya memasukkan kata sandi, tidak ada yang terjadi. Router menjalankan Tomat v1.28 dan saya tidak dapat mengaturnya untuk menggunakan file konfigurasi ssh untuk memungkinkannya untuk login ke kata sandi C w / oa.
Ada ide tentang bagaimana membuat ini bekerja?
ProxyCommand
dalam file konfigurasi. Rsync harus mengambilnya.Jawaban:
Pertanyaan ini pada dasarnya dijawab di tempat lain, termasuk di sini untuk scp dan di sini untuk rsync . Karena yang terakhir mencakup jawaban saya, tetapi tidak ada jawaban yang diterima, saya akan mengulanginya di sini.
Ketika Anda dicatat, Anda dapat menggunakan
rsync
's-e | --rsh
pilihan, tapi itu akan menjadi sedikit lebih rumit:Atau, jika versi Anda
ssh
cukup baru (OpenSSH> = v7.3), Anda dapat menggunakan opsi-J
(ProxyJump
)Perhatikan bahwa saya menggunakan
-A
(penerusan agen) tetapi juga harus berfungsi dengan otentikasi kata sandi jika Anda tidak menggunakan kunci, dan, tentu saja, Anda dapat menggantiproxy
denganB
dandest
denganC
dalam contoh Anda.Jika kebetulan Anda tidak memiliki
ssh
versi yang cukup baru (> = 5.3, IIRC), Anda dapat menggunakannetcat
sebagai ganti-W
opsi untukssh
:Akhirnya, seperti yang disebutkan dalam komentar, Anda dapat memasukkannya
ProxyCommand
ke dalam$HOME/.ssh/config
file Anda sehingga Anda tidak harus memiliki baris perintah yang rumit. Secara khusus, tambahkan sesuatu seperti ini:Atau, gunakan
ProxyJump
untuk OpenSSH> = v 7.3:Maka Anda harus bisa melakukan:
sumber