Zaten sunucuya ssh'd iken ssh üzerinden dosya aktarma


13

Bu komutu kullanarak dosya aktarıyorum

scp <localfile> user@host:<destination>

Yukarıdaki komut yalnızca sunucuya ssh'd olmadığımda çalışır.

Zaten içinde bulunduğumda yerel dosyaları ana makineye nasıl aktarabilirim?

Kullanarak ssh ssh user@hostname


2
Hangi işletim sistemi? Başka bir terminal açın ve scp komutunu kullanın
Impulss

1
centOS. Şimdiye kadar yaptığım şey bu. Sadece daha uygun bir şey umuyordum.
Omnipresent

Yanıtlar:


5

Güzel soru. scptekrar, ama tam tersi. Ben yaptım ve işte burada:

chris@local ~$ ls hos*
hosts
chris@local ~$ ssh remote
Last login: Fri Mar  8 15:52:25 2013 from local
chris@remote ~$ scp chris@local:hos* .
chris@local's password: 
hosts                                              100% 1850     1.8KB/s   00:00    
chris@remote ~$ ls hos*
hosts
chris@remote ~$ 

eklemek için düzenlendi: yorumlarda belirtildiği gibi, bu uzak bilgisayarın yerel bilgisayara erişmesini gerektirir. Ve sshd veya (openssh-server) yerel makinede kurulu ve çalışıyor olmalıdır.


3
Bu, yerel makineye uzak makineden erişilebilir olduğunu ve bunun her zaman doğru olmadığını varsayalım.
laurent

Ancak, eğer doğruysa güzel çalışır.
daviewales

3

Ana makinede ne çalıştırdığınızı bilmenize yardımcı olur. Linux kullanıyorsanız,

scp user@host:/path/myfile .

çalışmalı.


user @ host soruda anladığımdan uzak makinedir, bu nedenle bu komut dosyaları yerel makineden uzak makineye değil, ana bilgisayarda SSHed değilse uzaktan uzaktan yerel bilgisayara kopyalar ve eğer uzaktan kumandadan kendisine kopyalar SSHed.
laurent

Bence soruda bir belirsizlik var. Bana göre, user@hostşu anda hangi bilgisayarı kontrol etmediğinizi belirtiyor. Bu nedenle, OP uzak bilgisayara giriş yapmadığında user@host, uzak bilgisayar olur. OP uzak bilgisayara oturum açtığında, user@hostyerel bilgisayardır. Varsayımlarım doğruysa, bu cevap mantıklıdır.
daviewales

Soruyu da tam olarak bu şekilde yorumladım, göz kamaştırıcı. Ayrıca, haklısınız, user @ host, şu anda çalışmıyorsanız hangi iş istasyonunu temsil edeceğini düşünüyorum, bence. Yanıtımda bunu daha açık hale getirip getirmeyeceğimi tartıştım, ancak bunun ima edileceğini düşündüm.
Josh

Her neyse, user @ host kullanıcı uzak makinede oturum açtığında yerel makineyi temsil etse bile (OP'nin yerel dosyaları ana makineye aktarmak istediğini söylemediği gibi), bu sadece yerel makineye uzaktan erişilebiliyorsa çalışacaktır açık (genellikle aynı LAN'daysa) ve uzak makinenin internette olduğu ve yerel makinenin sabit IP'si olmayan bir senaryoda değil.
laurent

0

Yerel makinenize geri dönüş yolunuz varsa (yerel makinenize uzak makineden erişilebilir - genellikle her iki makine aynı LAN'daysa), uzak makineden scp kullanmak çalışmalıdır ( scp local:/path-to-file .).

Yerel makinenize uzak olandan erişilemiyorsa (genellikle uzaktan kumandanız internette bir VPS ise ve yerel makineniz dinamik bir IP'ye sahipse), en iyi yolunuz yerel makinede yeni bir terminal açmak ve dosyayı kopyalamaktır.

Başka bir yol, daha karmaşık ve kesinlikle sadece dosya kopyalamak için gerekli olmayan makineler (veya ağlar) arasında bir VPN yapmak olacaktır, böylece her iki makineye diğerinden ulaşılabilir ve bir makineden veya diğerinden scp kullanabilirsiniz.


-1

uzak sistemde oturum açarken (sadece dosya konumuna cd yazmak daha kolay) sudo scp file_location / dosya_adı user @ host: dosya_konumu

uzaktaki sistemden çıkış yapıldığında sudo scp authoried_user @ hostname: file_location / file_name new_location_on_local_machine

FOOTNOTE: Unutmayın, uzak sistemlerden çıkış yaparken, yeni bir terminal ise, ilk şifre sudo şifresi olacak, 2. şifre kullanıcı şifresi ile yetkilendirilecektir. o terminalde daha önce sudo-ed, o zaman sadece u gereken yetkili kullanıcı şifresi. Bunlara dikkat et, zorlaştırır.

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.