Czy mogę przesyłać pliki za pomocą SSH?


32

Używam PuTTY na Windows 7 do SSH w moim szkolnym laboratorium komputerowym. Czy mogę przesyłać pliki z mojego komputera z systemem Windows do mojego użytkownika na szkolnych komputerach za pomocą SSH?


Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ dotyczy ono systemu Windows, a nie Uniksa.
dr01

@ dr01 prawda, ale ma wiele pozytywnych opinii, więc prawdopodobnie warto odejść dla potomności i przejść dalej.
roaima,

Odpowiedzi:


41

Użyj narzędzia PSCP ze strony pobierania szpachli:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCP to kitowa wersja scp, która jest komendą cp (kopiowanie) nad ssh.

PSCP musi być zainstalowany na komputerze z systemem Windows (właśnie pobrany, naprawdę nie ma procesu instalacji. W sekcji Pliki spakowane pscp.exe jest już dołączony). Na serwerach szkolnych nie trzeba nic instalować. PSCP i scp używają ssh do łączenia.

Aby odpowiedzieć na pytanie dotyczące użytkowania z komentarzy:

Aby przesłać z komputera na zdalny serwer:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

Spowoduje to przesłanie pliku file.txt do określonego katalogu na serwerze. Jeśli ostatnia część ścieżki docelowej NIE jest katalogiem, będzie to nowa nazwa pliku. Możesz to również zrobić, aby przesłać plik o innej nazwie:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

Aby pobrać plik ze zdalnego serwera na komputer:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

lub

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

lub

c:\pscp user@remote:\home\user\some\file.txt .

Na końcu samotna kropka. Spowoduje to pobranie określonego pliku do bieżącego katalogu.

Ponieważ komentarz jest zbyt daleki, powinienem tutaj również wskazać, że WinSCP istnieje z interfejsem GUI do tego wszystkiego, jeśli jest to interesujące: http://winscp.net/eng/download.php


Oczywiście nie mogę niczego zainstalować na komputerach uniwersyteckich. Czy muszę?
Alex Mohr

Czy maszyna z Windows 7 jest twoja czy twoje szkoły? Czytam pytanie sugeruje, że Twój korzystania kit na swoim komputerze, aby podłączyć się do szkoły. W takim przypadku nie musisz niczego instalować na szkolnym komputerze, ale musisz to zrobić na swoim.
SuperMagic

Korzystam z mojego komputera z systemem Windows 7. dzięki! Znalazłem polecenie wget i użyłem dropbox do przesłania pliku, ale na pewno będę o tym pamiętać
Alex Mohr

Jeszcze jedno: scp działa w obie strony. Możesz przesyłać, a także pobierać za jego pomocą.
SuperMagic

Mam trochę problemów ze składnią polecenia. To jest: pscp source "path_to_local_file" user@host:path_to_new_location? Mam go do pracy z pozostawieniem pustej ścieżki na komputerze zdalnym, po prostu umieściłem ją w moim katalogu głównym.
Alex Mohr

6

Być może będziesz musiał użyć ukośników (/), aby rozmawiać z serwerami LINUX / UNIX

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path

3

Możesz po prostu połączyć wiele plików za pomocą tar:

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

... który rekurencyjnie kompresowałby i przesyłał strumieniowo wszystkie pliki w bieżącym katalogu na komputerze lokalnym do ścieżki docelowej, jednocześnie dekompresując i rozszerzając strumień na komputerze zdalnym.

Możesz robić podobne rzeczy dla wszystkiego, co pisze na standardowe wyjście. catjest oczywistym wyborem:

cat ./localfile | ssh user@remote 'cat >./remotefile'

1
Świetny. Jak to zrobić w systemie Windows
Joe

@Joe - w ten sam sposób? Może <./localfile putty user@remote 'cat >./remotefile'- zapomniałem o wszystkich przełącznikach szpachlowych. Ale jest już bardzo blisko
mikeserv

1
Wersja Windows / PuTTY to: wpisz plik lokalny | plink user @ remote "cat> plik zdalny"
Adam Haun

2

Możesz do tego użyć WinSCP . Jest o wiele łatwiejszy niż inne wymienione narzędzia, zapewnia prosty interfejs przeciągania i upuszczania.


Nie jest jasne, jaki ma to związek z zadanym pytaniem. Chyba że to tylko nazwa programu klienckiego, a reszta to śmieci.
Tom Hunt

Być może pytanie zmieniło się z czasem, ale to była odpowiedź, której szukałem: jest to program z GUI, który może przeglądać i przesyłać pliki przez ssh. Importuje nawet ustawienia z Putty. Bardzo przydatny imho, po prostu nie pamiętam jego nazwy, dzięki
Emile Vrijdags

2

możesz użyć polecenia Windows PowerShell:

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-P flagę można pominąć, jeśli ssh jest otwarty na domyślnym porcie (22)

na przykład:

  • kopiowanie pliku „ps.key” z hosta Windows poprzez ssh
  • adres docelowy to 192.168.88.242, ssh działa na porcie 1688
  • docelowa nazwa użytkownika to „nick”

dowództwo:

scp -P 1688 "D:\MEGA\ps.key" nick@192.168.88.242:/home/nick/ps.key

Następnie potwierdź odcisk palca klucza docelowego (jeśli wcześniej nie łączyłeś się z tym hostem za pomocą PowerShell) i wpisz hasło użytkownika docelowego.

przetestowany na Win10, nie wymagał żadnych dodatkowych instalacji


To nie wygląda jak polecenie PowerShell. Czy na pewno nie scppochodzi z pakietu PuTTY?
roaima,

@roaima OpenSSH jest dostępny jako opcjonalna, ale wbudowana część systemu Windows 10 od aktualizacji Fall Creator (koniec 2017 r.) i jest instalowany domyślnie od aktualizacji z kwietnia 2018 r. scpPolecenie jest włączone.
Bob Sammers,

1
@BobSammers och tak to jest. (Mój jest zamaskowany przez instalację Cygwin.) Nie jest to jednak Powershell w żadnym ujednoliconym sensie. Wiersz poleceń z pewnością, ale nie Powershell.
roaima

W rzeczywistości jest to najłatwiejsze rozwiązanie, właśnie wypróbowałem PShell na moim Windowsie i otwiera SSH na RHEL, pyta o Hasło, kopiuje plik i zamyka. I to działa!
Raffaeu

0

Użyj narzędzia Beyond Compare, jeśli nie jesteś guru z linii poleceń. Beyond Compare to narzędzie do porównywania folderów i ma przyjemny interfejs użytkownika oraz pozwala używać pliku prywatnego SFTP i SSH w różnych środowiskach, w których próbujesz się zalogować. Oto link do narzędzia [ https://www.scootersoftware.com/][1]


0

Ponieważ znasz już kit. Proponuję spojrzeć na https://mobaxterm.mobatek.net/ . MobaXterm ma wszystko, czego potrzeba do zdalnej pracy w systemie Linux z komputera z systemem Windows, ssh, sftp, scp, Xwindows. Moim zdaniem jest znacznie lepszy niż kit.


Czy jest również bezpłatny (bezpłatny) do użytku nieosobowego; np. do SSH do szkolnego laboratorium komputerowego (jak w pytaniu)?
Pierre.Vriens

tak. MobaXterm jest darmowy nawet do użytku komercyjnego, chyba że musisz zapisać ponad 10 sesji. Jestem programistą, a darmowa wersja działa idealnie dla mojej pracy. Do pracy w szkole, po prostu śmiało.
Cen R.
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.