Saya sekarang menggunakan rsync dengan -e 'ssh -p 10022'
opsi untuk menentukan port.
Saya sudah memiliki pengaturan ssh ~/.ssh/config
.
Host myvps
HostName example.com
User ironsand
Port 10022
Bisakah saya menggunakan konfigurasi ini dari rsync dengan mudah? Atau Dapatkah saya membuat ~/.rsync
dan mengatur port default untuk server yang ditentukan?
Ini tidak berhasil untuk saya. Saya telah melompat hosting di ~ / .ssh / config saya
ssh: Tidak dapat menyelesaikan hostname vm-app01 : nodename atau servname yang diberikan, atau tidak dikenal rsync: koneksi ditutup secara tak terduga (0 byte diterima sejauh ini) [pengirim] kesalahan rsync: kesalahan yang tidak dapat dijelaskan (kode 255) di / SourceCache / rsync / rsync- 42 / rsync / io.c (452) [pengirim = 2.6.9]
Namun, ini berfungsi dengan baik
Sunting, saya bisa melewati resolusi nama dengan memaksa rsync ssh untuk memuat file konfigurasi dengan -F sudo rsync -az -e "ssh -F / Pengguna / kbroughton/.ssh/config"
Ini melewati satu kesalahan tetapi ke kesalahan lainnya. Izin ditolak (publickey, gssapi-keyex, gssapi-with-mic). ssh_exchange_identification: Koneksi ditutup oleh host jarak jauh
Juga mencoba pengaturan -i dan pengguna @ secara eksplisit di sambungan tetapi terjadi kesalahan yang sama.
EDIT
Titik data lain. Jika saya menggunakan ip mengambang dari pivot vm (host melompat), bukan namanya vm-pivot rsync bekerja. Tetapi secara eksplisit membuang semua ssh / config saya di -e "ssh" tidak berfungsi. Detail: mac lokal, ditingkatkan ke rsync 3.1.0, centos jarak jauh rsync 3.0.9.
Ini bekerja
sumber
@dorKoram. Untuk kasus di mana Anda menjalankan ssh dengan jalur non-standar dan coba gunakan ssh di ProxyCommand yang menjadi masalah karena tidak ada warisan. Anda memiliki dua opsi di sana: langsung memberikan file yang sama di perintah dalam, atau secara dinamis meretasnya. Anda dapat melihat deskripsi rinci di posting blog saya tentang itu: http://hubbitus.info/wiki/Blog:Ssh_forwarding_with_same_config_file_hack
Situasi tak lama di Anda akan membantu konfigurasi seperti:
sumber
@dorKoram. Jalankan proses SSH dengan sudo:
sudo / usr / local / bin / rsync -az -e "sudo -u user ssh" /var/data/sources/data.tar.gz vm-app01: / home / user
sumber
@dorKoram
Apa nama DNS lengkap "vm-app01"? Itu harus bersifat publik, karena Anda mengklaim Anda dapat mencapainya dalam ssh tanpa rsync. Tapi, Anda berharap ssh untuk menangkap host Anda melalui pola "21ct-dev1- *". Saya benar-benar tidak bisa melihat bagaimana ini bisa bekerja dengan cara apa pun. Jika Anda mencoba memola nama host, itu akan terlihat seperti ini:
Maka panggilan rsync akan terlihat seperti ini:
Bagaimana "vm-app01" diselesaikan? File host, menang, nis, nss? Apakah Anda memiliki alias? Apakah Anda berada dalam domain? Ini tentu terlihat seperti masalah DNS "sederhana".
sumber