Strona główna
» LINUX
»
Jak przesyłać pliki z systemu Windows 10 do systemu Linux przez protokół SSH
Jak przesyłać pliki z systemu Windows 10 do systemu Linux przez protokół SSH
Możesz przesyłać pliki z systemu Windows 10 do systemu Linux przez SSH za pomocą wbudowanego scppolecenia lub użyć WinSCP, jeśli wolisz interfejs graficzny. Metoda wiersza poleceń jest najszybsza w przypadku jednorazowych kopii i skryptów; WinSCP jest łatwiejszy, gdy chcesz przeglądać foldery lokalne i zdalne obok siebie.
Zanim zaczniesz, komputer z systemem Linux musi mieć uruchomiony serwer SSH. Potrzebujesz jego nazwy hosta lub adresu IP, nazwy użytkownika systemu Linux oraz katalogu docelowego, do którego możesz zapisywać. W systemie Ubuntu pakiet serwera to openssh-server: Canonical dokumentuje konfigurację w swoim podręczniku serwera OpenSSH . SSH zazwyczaj nasłuchuje na porcie 22, chyba że administrator serwera go zmienił.
Metoda 1: Kopiowanie plików za pomocą SCP w programie PowerShell
System Windows 10 obsługuje klienta OpenSSH firmy Microsoft, który obejmuje ssh, sftpi scp. Może on nie być zainstalowany w każdym systemie Windows 10, dlatego najpierw otwórz program PowerShell i wykonaj polecenie:
Get-Command scp
Jeśli program PowerShell nie może odnaleźć polecenia, zainstaluj klienta OpenSSH z opcjonalnych funkcji systemu Windows lub uruchom następujące polecenie w podwyższonym oknie programu PowerShell:
Przed skopiowaniem czegokolwiek sprawdź, czy system Windows może połączyć się z komputerem z systemem Linux:
ssh alex@192.168.1.50
Zastąp „ alexi” 192.168.1.50swoją nazwą użytkownika i adresem serwera Linux. Przy pierwszym połączeniu SSH wyświetla odcisk klucza hosta serwera. Zweryfikuj ten odcisk u serwera lub administratora przed jego zaakceptowaniem; nie zatwierdzaj nieoczekiwanego klucza bezkrytycznie.
2. Skopiuj jeden plik
Przejdź do folderu Windows zawierającego plik lub podaj pełną ścieżkę. Na przykład:
PowerShell może wysłać plik lokalny bezpośrednio do ścieżki Linux poprzez połączenie SSH.
Jeśli serwer SSH używa niestandardowego portu, użyj wielkiej litery -P, na przykład scp -P 2222 report.pdf alex@192.168.1.50:/home/alex/Downloads/. Aktualny podręcznik OpenSSH scp dokumentuje -Pport zdalny i zaznacza, że nowoczesne wersje OpenSSH scpdomyślnie używają SFTP do transferów, zachowując jednocześnie znaną składnię poleceń.
3. Skopiuj cały folder
Dodaj -r, aby skopiować katalog i wszystko, co znajduje się pod nim:
scp -r Project alex@192.168.1.50:/home/alex/
Opcja ta -rrekurencyjnie kopiuje wybrany folder i jego zawartość.
Podaj ścieżki systemu Windows zawierające spacje, np scp -r "C:\Users\Alex\My Project" alex@192.168.1.50:/home/alex/. .
Metoda 2: Przesyłanie plików za pomocą WinSCP
Jeśli wolisz interfejs graficzny, zainstaluj WinSCP z oficjalnej strony i utwórz nową sesję. Wybierz SFTP jako protokół pliku, wprowadź nazwę hosta lub adres IP systemu Linux, zachowaj port 22, chyba że serwer używa innego portu, i podaj nazwę użytkownika systemu Linux. Własna dokumentacja protokołu WinSCP zaleca SFTP, jeśli to możliwe; tryb SCP jest zachowany głównie ze względu na kompatybilność ze starszymi serwerami.
Użyj SFTP w WinSCP do normalnej sesji transferu plików SSH.
Kliknij Zaloguj . Przy pierwszym połączeniu porównaj wyświetlony odcisk klucza hosta z oczekiwanym odciskiem, zanim go zatwierdzisz. WinSCP wyjaśnia wymaganą nazwę hosta, protokół, nazwę użytkownika i hasło w swoim przewodniku połączenia .
Po nawiązaniu połączenia domyślny interfejs w stylu Commandera pokazuje pliki Windows po lewej stronie, a serwer Linux po prawej. Przejdź do folderu docelowego, a następnie przeciągnij plik lub folder z panelu lokalnego do panelu zdalnego. Potwierdź opcje transferu, jeśli WinSCP wyświetli monit.
Przeciągnij pliki z panelu Windows do panelu Linux, aby przesłać je przez SFTP.
Typowe problemy
scpnie jest rozpoznawany: zainstaluj lub włącz klienta Windows OpenSSH, a następnie ponownie otwórz program PowerShell.
Połączenie odrzucone lub przekroczone limit czasu: sprawdź, czy system sshddziała na systemie Linux, czy nazwa hosta lub adres IP są poprawne, czy port SSH jest dostępny i czy zapora sieciowa na to pozwala.
Odmowa dostępu: potwierdź nazwę użytkownika, hasło lub klucz SSH i upewnij się, że konto Linux może zapisywać w katalogu docelowym.
Nie znaleziono ścieżki zdalnej: użyj istniejącej ścieżki Linux, pamiętając, że ścieżki Linux używają ukośników i rozróżniają wielkość liter.
Dla większości użytkowników systemu Windows 10 scpjest to najszybsza opcja, gdy ścieżka docelowa jest już znana. WinSCP to lepszy wybór, gdy chcesz przeglądać foldery wizualnie, a SFTP powinien być domyślnym protokołem dla nowoczesnego serwera SSH.