SSH bağlantısı üzerinden ters SCP


17

Dizüstü bilgisayarımdayken sık sık bazı sunuculardan bazı dosyalara ihtiyacım var. Ancak bu dosyanın nerede olduğunu bilmiyorsam ssh, sunucuya bakmam, etrafa bakmam exitve sonra scp server:file .. Her ikisi de statik IP'leri olan masaüstüm ve sunucumla çalışıyorsam, dosyayı tersine ( scp desktop:~ file) SCP yapabilirim , ancak dizüstü bilgisayarım için bunu yapamam. Bir dosyayı SSH bağlantısı üzerinden geriye doğru SCP'nin güzel bir yolu var mı? SSH ile bağlandığım bilgisayarın istemciye geriye doğru bir dosya göndermesi için?


Neden mDNS kullanılmıyor?
Ignacio Vazquez-Abrams

1
Bu sorunun burada zaten doğru bir şekilde cevaplandığına inanıyorum: unix.stackexchange.com/a/2869
shellster

Yanıtlar:


20

SCP'den daha karmaşık dosya işlemlerini destekleyen SSH'nin bir uzantısı olan SFTP ile bu çok daha kolay olurdu. Hemen hemen tüm modern Unix ve Linux dağıtımları bunu destekler. Kullanmak için, sunucuya bağlanmak için şu komutu çalıştırın:

sftp server

Ardından , gezinmek ve aradığınız dosyayı bulmak için lsve cdkomutlarını kullanabilirsiniz . Bulduktan sonra getindirmek için komutu kullanın. Örneğin file.txt, sunucudaki geçerli çalışma dizininize yerel makinenizdeki geçerli çalışma dizininize indirmek için şunu çalıştırın:

get file.txt

/home/pavpanchekha/textfiles/file.txtSunucuya ~/textfiles/yerel makinenize indirmek için , aşağıdaki komutu çalıştırın:

get /home/pavpanchekha/textfiles/file.txt ~/textfiles/

Tersine, dosyaları bu şekilde de yükleyebilirsiniz. file.txtYerel geçerli çalışma dizininizden sunucunun geçerli çalışma dizinine yüklemek için şunu yazın:

put file.txt

Aşağıdakilerle her biri için tam yolları da kullanabilirsiniz get:

put ~/textfiles/file.txt /home/pavpanchekha/textfiles/file.txt

Kullanılabilir SFTP komutlarının tam listesi helpiçin bilgi sftp>isteminde çalıştırın .


1
Bu çok iyi, teşekkürler. Zaten bir SSH bağlantısı içindeysem tersini başlatmanın herhangi bir yolu var mı? Aksi takdirde kendimi bir yere taşırken, bir dosyayı aktarmak, SSH bağlantısını bırakmak, bir SFTP bağlantısı kurmak, onu bırakmak ve SSH'ye geri dönmek istediğimi fark ettim.
pavpanchekha

2
@pav: SSH_CLIENTOrtam değişkeni, diğer bilgilerin yanı sıra bağlanan ana bilgisayarın IP adresini içerir. Kaynak ana bilgisayara kolayca SFTP göndermek için bir kabuk takma adı oluşturmak için bunu kullanabilirsiniz. Sadece bu satırı ~/.bashrcsunucuya ekleyin : alias sftpback="sftp $(echo $SSH_CLIENT | awk '{print $1}')" Değişikliğin etkili olması için SSH bağlantısını kesin ve yeniden bağlanın ya da komutun sanki hemen etkili olması için çalıştırın. Oradan, sftpbackSFTP'ye bağlandığınız istemciye geri dönebilirsiniz, hangisi olursa olsun.
Yamalar

Bu en iyisi!!! Beni NANO'dan (çevrimiçi dosya düzenleme) kaydettiğiniz için teşekkür ederim, bu süreci çok basit hale getiriyor.
Mohsin

0

Konsol dosya yöneticisi Midnight Commander (mc), uzak sunuculara SFTP bağlantısı / dosya yönetimine izin veren bir VFS sistemine sahiptir. Ayrıca Windows'ta Cygwin'de de çalışır . Varsayılan arayüz iki bağımsız paneli gösterir; SFTP uzak dizinini bunlardan birinde açabilir ve diğer panele / panelden kolayca dosya aktarabiliriz. Sözdizimi vurgulamalı bir dosya düzenleyici / görüntüleyici (mcedit) içerir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.