Ssh üzerinde Rsync, her zaman harika çalışıyor.
Ancak, yalnızca sftp girişlerine izin veren, ancak ssh girişlerine izin vermeyen bir ana bilgisayara rsync denemek aşağıdaki hatayı sağlar:
rsync -av / kaynak ssh kullanıcısı @ remotehost: / target /
protokol sürümü uyuşmazlığı - kabuğunuz temiz mi? (bir açıklama için rsync man sayfasına bakın) rsync hatası: compat.c (171) [sender = 3.0.6] protokol uyumsuzluğu (kod 2)
İşte rsync man sayfasından ilgili bölüm:
Bu mesaja genellikle rsync'in aktarımı için kullandığı akışta istenmeyen çöpler üreten başlangıç komut dosyalarınız veya uzak kabuk tesisiniz neden olur. Bu sorunu teşhis etmenin yolu, uzak kabuğunuzu şu şekilde çalıştırmaktır:
ssh remotehost /bin/true > out.dat
sonra dışarı bak. Her şey doğru çalışıyorsa, out.dat sıfır uzunluklu bir dosya olmalıdır. Yukarıdaki hatayı rsync'den alıyorsanız, muhtemelen out.dat dosyasının bir metin veya veri içerdiğini göreceksiniz. İçeriğe bakın ve ne ürettiğini hesaplamaya çalışın. En yaygın neden, etkileşimli olmayan girişler için çıktı ifadeleri içeren yanlış yapılandırılmış kabuk başlangıç komut dosyalarıdır (.cshrc veya .profile gibi).
Bunu denemek benim sistemimde out.dat içinde şöyle sonuçlandı:
ssh-dummy-shell: Komuta izin verilmiyor.
Düşündüğüm gibi, ev sahibi ssh girişlerine izin vermiyor.
Aşağıdaki bağlantı , bu görevi sshfs ile sigorta kullanarak gerçekleştirmenin mümkün olduğunu gösteriyor - bununla birlikte oldukça yavaş ve üretim için uygun değil.
Rsync sftp'yi çalıştırma şansı var mı?
csync /home/csync sftp://csync@krikkit.galaxy.site:2222/home/csync
Bu cevaba bakınız .
lftp -e "mirror -eRv /local/dir/ /remote/dir; quit;" sftp://user@server:port