Ana bağlantı
Önceden plan yaparsanız en kolay olanıdır.
İlk defa bir ana bağlantı açın. Daha sonraki bağlantılar için, bağımlı bağlantıları mevcut ana bağlantı üzerinden yönlendirin. Gözlerinde farklı ~/.ssh/config
, otomatik olarak gerçekleşmesi bağlantı paylaşımını kurmak:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Mevcut bir bağlantıyla aynı (kullanıcı, port, makine) ssh oturumu başlatırsanız, ikinci oturum ilkine tünellenir. İkinci bağlantının kurulması yeni bir kimlik doğrulama gerektirmez ve çok hızlıdır.
Böylece etkin bağlantınız varken, çabucak:
nakliye
Mevcut bir bağlantıda, ters ssh tüneli kurabilirsiniz. Ssh komut satırında, -R 22042:localhost:22
22042'nin uzak makinedeki diğer herhangi bir bağlantı noktası numarasından farklı olarak rastgele seçilen bir sayı olduğu bir yere geçerek bir uzaktan iletme oluşturun . Ardından ssh -p 22042 localhost
uzaktaki makinede sizi tekrar kaynak makineye bağlar; scp -P 22042 foo localhost:
dosyaları kopyalamak için kullanabilirsiniz .
Bunu daha da otomatikleştirebilirsiniz RemoteForward 22042 localhost:22
. Bununla ilgili sorun, aynı bilgisayara birden fazla ssh örneği bağlarsanız veya bağlantı noktasını başka biri kullanıyorsa, iletimi alamamanızdır.
Baştan itibaren uzaktan yönlendirmeyi etkinleştirmediyseniz, mevcut bir ssh oturumunda yapabilirsiniz. Yazın Enter ~C
Enter -R 22042:localhost:22
Enter. Daha fazla bilgi için kılavuzdaki “Escape karakterleri” bölümüne bakın.
Bu Sunucu Hatası iş parçacığında bazı ilginç bilgiler de var .
Kopyala yapıştır
Dosya küçükse, yazabilir ve terminal çıkışından kopyala-yapıştır yapabilirsiniz. Dosya yazdırılamayan karakterler içeriyorsa, base64 gibi bir kodlama kullanın .
remote.example.net $ base64 <dosyam
(çıktıyı kopyala)
local.example.net $ base64 -d> dosyam
(panodaki içeriği yapıştır)
Ctrl +D
Daha kolay, eğer X yönlendirme etkinse, dosyayı uzak makineye kopyalayın ve yerel olarak yapıştırın. Verileri içeri xclip
veya dışarı aktarabilirsiniz xsel
. Dosya adını ve meta verileri korumak istiyorsanız, bir arşivi kopyalayıp yapıştırın.
remote.example.net$ tar -czf - myfile | xsel
local.example.net$ xsel | tar -xzf -
scp file.foo user@myclient.com:file.foo
: P