Geçmişte, uzak sistemler arasında dosyaları kopyalamak için scp
( naif ) çağrıldığında işe yaraması çok elverişsizdi: örneğin, yazdıysanız
scp user1@remote1:/home/user1/file1.txt user2@remote2:/home/user2/file1.txt
scp
ilk önce ssh
remote1'de bir oturum açar ve ardından scp
oradan remote2'ye koşardı. Bunun çalışması için remote1'deki remote2 için yetkilendirme bilgilerini ayarlamanız gerekir.
Bunu yerine getirmenin modern yolu, ("modern" çünkü sadece birkaç yıl önce uygulandı ve belki herkesin -3
erişemeyeceği bir şey yoktu scp
) iki adım gerektiriyor. Gerekli ilk adım, ~/.ssh/config
hem remote1 hem de remote2'ye bağlantı için tüm seçenekleri aşağıdaki gibi ayarlamaktır:
Host remote1.example.org
Port 2222
IdentityFile /path/to/host1-id_rsa
Host remote2.example.org
Port 6969
IdentityFile /path/to/host2-id_rsa
Bu şekilde o komuta etmek için gerekli tüm seçenekleri geçmek mümkün hale belirsizlik içermeyen : Biz CLI üzerinde deseydim mesela, kullanım port 2222 Yukarıdaki yapılandırma olmadan, biz atıfta olup olmadığını belirsiz olurdu REMOTE1 veya REMOTE2 ve aynı şekilde şifreleme anahtarlarını içeren dosya için. Bu şekilde CLI düzenli ve basit kalır.
İkincisi, -3
aşağıdaki gibi seçeneği kullanın :
scp -3 user1@remote1:/home/user1/file1.txt user2@remote2:/home/user2/file1.txt
Bu -3
seçenek scp
, trafiğin üçüncü taraf olmasına rağmen, komutun verildiği PC üzerinden trafiği yönlendirmeyi talimat verir. Bu şekilde, yetkilendirme kimlik bilgileri yalnızca veren PC'de üçüncü tarafa ait olmalıdır.