Jak skopiować folder ze zdalnego hosta na host lokalny scp
?
Używam ssh
do logowania mojego serwera.
Następnie chciałbym skopiować folder zdalny foo
do lokalnego /home/user/Desktop
.
Jak to osiągnąć?
shell
command-line
copy
scp
Slasengger
źródło
źródło
Odpowiedzi:
Nie dołączając końcowego „/” na końcu foo, przeniesiesz sam katalog (wraz z zawartością), a nie tylko zawartość katalogu.
Od
man scp
(patrz instrukcja online )źródło
-C
flaga dodaje kompresję, a-c
flaga pozwala przekazywać inne typy szyfrów dla lepszej wydajności, jakscp -c blowfish a@b:something .
widać w odpowiedzi dimuthuDesktop/foo
lub trzeba będzieDesktop/allcontentsofFooGohere
SCP wydaje się działać dziwne czasami mi się to nie jedno, potem drugiscp -r [email protected]:/path/to/foo /home/user/Desktop/
tobą powinien skończyć zDesktop/foo
. Zscp -r [email protected]:/path/to/foo/. /home/user/Desktop/
tym skończysz z zawartościąfoo
inDesktop
i wszystkich sub-dirówfoo
porozrzucanych podDesktop
Aby w pełni wykorzystać moc SCP , musisz przejść przez kolejne kroki:
Następnie, na przykład, jeśli masz to ~ / .ssh / config :
uratujesz się przed wprowadzaniem hasła i uprościsz scp składnię następujący sposób:
Ponadto będziesz mógł korzystać ze zdalnego uzupełniania ścieżek:
Aktualizacja:
Aby umożliwić zdalne zakończenie bash, musisz mieć powłokę bash na obu hostach
<source>
i<target>
hostach oraz poprawnie działającą funkcję bash. Aby uzyskać więcej informacji, zobacz powiązane pytania:Jak włączyć autouzupełnianie zdalnych ścieżek podczas korzystania z SCP?
Uzupełnianie zakładki SCP z nazwą pliku
źródło
Aby skopiować wszystko z lokalizacji lokalnej do lokalizacji zdalnej (przesyłanie)
Aby skopiować wszystko z lokalizacji zdalnej do lokalizacji lokalnej (pobierz)
Niestandardowy port, gdzie
xxxx
jest niestandardowy numer portuSkopiuj bieżący katalog ze zdalnego do lokalnego
Wsparcie:
-r
Rekurencyjnie kopiuj wszystkie katalogi i pliki/
, Uzyskaj pełną lokalizację przezpwd
scp
zastąpi wszystkie istniejące plikihostname
będzie nazwa hosta lub adres IP-P portnumber
Uwaga: Czasami niestandardowy port nie działa, ponieważ port nie jest dozwolony w zaporze, więc upewnij się, że niestandardowy port jest dozwolony w zaporze dla połączeń przychodzących i wychodzących
źródło
pwd
aby uzyskać lokalizację i użyj tego samegoZawsze używam:
. (kropka) : to znaczy
current folder
. więc skopiuj z serwera i wklej tylko tutaj.IP : może być adresem IP jak
125.55.41.311
lub może być hostemns1.mysite.com
.źródło
.
uwagi na bieżący katalog!Lepiej najpierw skompresować katalog na zdalnym serwerze:
Po drugie, pobierz ze zdalnego:
Na koniec wypakuj pliki:
źródło
-C
flagą, jakscp -C a@b:bigfile .
.A jeśli masz do cholery pliki do pobrania ze zdalnej lokalizacji i jeśli nie dbasz o bezpieczeństwo, spróbuj zmienić domyślne szyfrowanie scp (Triple-DES) na coś w rodzaju „blowfish”.
To znacznie skróci czas kopiowania plików.
źródło
arcfour
w zastępstwieblowfish
, ale ma wady zabezpieczeń.Typowy scenariusz
wyjaśnione próbką,
scp -r -P 27000 [email protected]:/tmp/hotel_dump .
gdzie,
źródło
Przejdź do plików na pasku narzędzi Unity
Naciśnij Ctrl + l i napisz tutaj_nazwa_uż[email protected]
192.168.1.103 to host, z którym chcesz się połączyć.
Oto jeden przykład
źródło
Pytanie brzmiało, jak skopiować folder ze zdalnego do lokalnego za pomocą
scp
polecenia.$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
Ale jest lepszy sposób, aby to zrobić za pomocą
sftp
- SSH File Transfer Protocol (również Secure File Transfer Protocol, SFTP) to protokół sieciowy, który zapewnia dostęp do plików, transfer plików i zarządzanie plikami za pomocą dowolnego niezawodnego strumienia danych. (Wikipedia).$ sftp user_remote@remote_ip
sftp> cd /path/to/remoteDir
sftp> get -r remoteDir
Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00
Aby uzyskać pomoc dotyczącą
sftp
polecenia, wpiszhelp
lub?
.źródło
W przypadku napotkania „Zbyt wielu błędów uwierzytelnienia” , podaj dokładny klucz SSH dodany do serwera ssh serwera severs:
źródło
Nie wiem dlaczego, ale musiałem użyć folderu lokalnego przed dyrektywą serwera źródłowego. aby działało
źródło
root@