Jak przesłać plik lokalny na serwer przez terminal Linux


47

Próbuję przesłać lokalne pliki na serwer za pomocą Putty lub SSH, ale nie mogę ich tam przesłać.

Czy istnieje jakakolwiek bezpośrednia metoda przesyłania pliku z lokalnego na serwer z terminala Linux bez użycia FTP itp.?


SFTP jest tym, czego szukasz.

chcę przenieść mój lokalny plik na serwer przy użyciu Linux Terminal. Załóżmy, że używaliśmy dostępu do serwera za pomocą putty lub ssh, ale nie mogliśmy przesłać tam pliku przez ten sam terminal.

Odpowiedzi:


64

Pewnie. Użyj scp(bezpieczna kopia) w następujący sposób:

scp [source file] [username]@[destination server]:.

Oczywiście zastąpić nawias [source file], [username]i [destination server]aby dopasować ustawienia lokalne. Więc jeśli plik był cool_stuff.txti twoja nazwa użytkownika na zdalnym serwerze to sanjeevi serwer docelowy to example.com, polecenie byłoby:

scp cool_stuff.txt sanjeev@example.com:.

Źródło może być również zdalne, więc możesz to zrobić odwrotnie niż w powyższym przykładzie:

scp sanjeev@example.com:cool_stuff.txt .

To polecenie skopiuje plik zdalny cool_stuff.txtdo dowolnego katalogu lokalnego, w którym się znajdujesz. A jeśli robisz to z wieloma plikami, po prostu użyj symbolu wieloznacznego ( *), tak jak w przypadku normalnego cppolecenia.

Również, .just wskazuje bezpośrednią ścieżkę do katalogu; taki jak ten, w którym się znajdujesz w momencie uruchomienia polecenia lub bezpośrednią ścieżkę, którą ma użytkownik zdalny na serwerze docelowym. Ale możesz również podać ścieżkę jak /this/path/right/herew przykładzie lokalnym do zdalnego:

scp cool_stuff.txt sanjeev@example.com:/this/path/right/here

Lub przykład zdalnego do lokalnego tutaj:

scp sanjeev@example.com:cool_stuff.txt /this/path/right/here

Teraz, jeśli zdalny serwer nie zezwala na SSH i tylko SFTP, SFTP jest właściwą drogą. Jest scpto jednak bardzo przydatne, gdy chcesz po prostu rzucić plik i nie wykonywać całego procesu SFTP ręcznie z wiersza poleceń.


13

Gdy logowanie do zdalnego serwera odbywa się za pomocą klucza ssh , możemy użyć -iflagi poniżej, aby przekazać nasz klucz do serwera:

scp -i /path/to/.ssh/id_rsa path/to/file/myFiles.gz myServer.com:/folder/on/server

-i plik_identyfikacji
Wybiera plik, z którego odczytywana jest tożsamość (klucz prywatny) do uwierzytelnienia za pomocą klucza publicznego.
Ta opcja jest przekazywana bezpośrednio do ssh (1).


13

Aby dodać odpowiedź Jake'a , możesz określić lokalizację - zamiast po prostu .- do której chcesz skopiować, dodając ścieżkę na końcu adresu URL jako:

scp /path/to/file username@servername/ip:/destination/folder/

1
Do Twojej wiadomości odstęp między hostem a ścieżką jest błędem, więc musisz to napisać bez spacji! (edycja tej odpowiedzi nie jest w tej chwili możliwa)
Sliq
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.