Jak pobrać plik z wiersza poleceń? przez ssh?


21

Chcę pobrać pliki ze zdalnego serwera na dysk lokalny i zrobić to z wiersza poleceń. Chcę też móc to zrobić za pośrednictwem SSH. W jaki sposób mogę to zrobić?

Uwaga: zdalny serwer to Ubuntu, lokalny to Mac OS X

Odpowiedzi:


29

Użyj scp-command, działa na SSH. Przykład:

scp username@remote.host:/path/to/file localfile

Działa również w drugą stronę

scp localfile username@host:/path/remotefile

Nazwę użytkownika, ścieżkę i nazwę pliku można pominąć (ale nie :!).

Jak powiedział Iain, SFTP również działa, ale zwykle preferuję scpjego cppodobne użycie.


Rzadziej jestem pewien i popraw mnie, jeśli się mylę, ale myślę, że scp działa również zdalnie do zdalnego, jeśli naprawdę musisz: scp username@remote1:/path/to/file username@remote2:/path/to/file
JMD

czy możesz skopiować katalogi?
Andrew

wymyśliłem to ... -r również rekurencyjnie kopiuje katalogi
Andrew

Zalecam dodanie -popcji podczas kopiowania plików lub folderów za pomocą scp. Kopiuje także atrybuty pliku (znaczniki czasu i flagi). Uważam, że chcę -pczęściej niż tego nie chcę!
joeytwiddle

Możesz także przekierowywać zdalnie na zdalny przez hosta lokalnego, używając -3flagi: scp -3 jeff@firsthost.com:/files/file1.zip brad@secondhost.com:/archivesJest to przydatne, jeśli potrzebujesz użyć klucza prywatnego w celu uzyskania dostępu do obu serwerów znalezionych tylko na localhost: scp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/Pasek postępu jest wyłączony dla -3
Dan Sandland

3

Możesz również użyć rsyncdo tego. Może działać przez SSH.


rsync -avvPjest moim ulubionym dla plików i / lub folderów, ale ma jedną wadę: musi być zainstalowany na zdalnym komputerze.
joeytwiddle

Jeśli masz problemy z połączeniem, konieczne może być przekazanie -e sshinstrukcji rsync, aby nawiązała połączenie przez ssh.
joeytwiddle

3

Używam do tego SFTP. Jest to linia poleceń i używa tego samego bezpieczeństwa co SSH.


1

Jeśli nie możesz użyć scplub SFTP, możesz użyć tarprzez SSH:

tar cf - . | ssh otherhost "cd /mydir; tar xvf -"

Ten jest również dobry, jeśli masz rzadkie pliki, które inaczej „eksplodują”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.