2014-12-10 06:52:20 +0000 2014-12-10 06:52:20 +0000
54
54

Jak wgrać plik lokalny na serwer przez terminal Linuksa

Próbuję wgrać pliki lokalne na serwer używając Putty lub SSH, ale nie dostaję się tam wgrać.

Czy jest jakaś bezpośrednia metoda wgrać plik lokalny na serwer z terminala Linuksa bez użycia FTP itp?

Odpowiedzi (3)

74
74
74
2014-12-10 08:16:06 +0000

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

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

Oczywiście wymień wspornik [source file], [username] i [destination server], aby dopasować ustawienia lokalne. Jeśli więc plik był cool_stuff.txt, a nazwa użytkownika na zdalnym serwerze to sanjeev, a serwer docelowy to example.com, komenda byłaby następująca:

scp cool_stuff.txt sanjeev@example.com:.

A źródło również mogłoby być zdalne, więc można by zrobić to odwrotnie niż w powyższym przykładzie:

scp sanjeev@example.com:cool_stuff.txt .

Ta komenda skopiowałaby zdalny plik cool_stuff.txt do dowolnego lokalnego katalogu, w którym się znajdujemy. A jeśli robisz to z wieloma plikami, po prostu użyj symbolu wieloznacznego (*), tak jak w przypadku normalnego polecenia cp.

Ponadto, . po prostu wskazuje bezpośrednią ścieżkę do katalogu; taką jak ta, w której znajdujesz się w momencie uruchamiania polecenia lub bezpośrednią ścieżkę, którą posiada zdalny użytkownik na serwerze docelowym. Ale możesz również podać ścieżkę jak /this/path/right/here w przykładzie local to remote:

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

lub zdalny do lokalnego:

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

Teraz, jeśli zdalny serwer nie pozwala na SSH i tylko SFTP, to SFTP jest drogą do celu. Ale scp jest bardzo użyteczny, gdy chcesz po prostu podrzucić plik, a nie robić cały proces SFTP ręcznie z linii poleceń.

14
14
14
2017-11-27 10:10:11 +0000

Gdy logowanie do zdalnego serwera odbywa się poprzez ssh key, możemy użyć poniżej flagi -i, aby przekazać nasz klucz do serwera:

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

-i identity_ file Wybiera plik, z którego odczytywana jest tożsamość (klucz prywatny) do uwierzytelniania klucza publicznego. Ta opcja jest bezpośrednio przekazywana do ssh(1).

13
13
13
2017-03-02 16:41:23 +0000

Aby dodać na do odpowiedzi Jake'a , możesz określić lokalizację - zamiast tylko . do skopiowania, dodając ścieżkę na końcu adresu URL jako:

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