Content
Instalowanie, testowanie i odinstalowywanie serwera SFTP opartego na OpenSSH w systemie Windows
Przewodnik krok po kroku
Instalacja i konfiguracja serwera SFTP (SSH FTP)
Najpierw należy pobrać i zainstalować OpenSSH z GitHub:
https://github.com/PowerShell/...
Pobierz archiwum: OpenSSH-Win64.zip
1) Wyodrębnij zawartość archiwum do katalogu docelowego, na przykład:"C:\Windows".

2) Otwórz właściwości systemu(WIN+R, polecenie "sysdm.cpl") -> Zaawansowane -> Zmienne środowiskowe
Okno, które się pojawi ma dwie sekcje: górna zawiera zmienne środowiskowe użytkownika, a dolna zmienne systemowe.
W zmiennych systemowych wybierz zmienną"Path", kliknij na"Change...".

3) W otwartym oknie kliknij "New" i wprowadź ścieżkę do katalogu OpenSSH z kroku 1, w tym przykładzie:"C:\Windows\OpenSSH-Win64".

4) Uruchom "PowerShell" jako administrator:
Start, wpisz"PowerShell"→ Kliknij prawym przyciskiem myszy na"PowerShell" → Uruchom jako Administrator

5) Przejdź do katalogu OpenSSH, w tym przykładzie:"C:\Windows\OpenSSH-Win64".
cd C:\Windows\OpenSSH-Win64
Zainstaluj serwer OpenSSH:
(powinien pojawić się zielony komunikat "sshd and ssh-agent services successfully installed");
.\Install-sshd.ps1
Włącz autorun dla usługi SSHD:
Set-Service -Name sshd -StartupType ‘Automatic’
Otwórz port TCP 22 w zaporze systemu Windows dla ruchu przychodzącego do serwera SSH:
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
Skonfiguruj właściciela pliku i prawa dostępu: (Odpowiedz na każde pytanie"T")
.\FixHostFilePermissions.ps1

6) Otwórz listę usług(WIN+R, polecenie"services.msc") -> Kliknij dwukrotnie na"OpenSSH SSH Server" → Ustaw typ uruchamiania:"Automatyczny", kliknij na "Uruchom" → OK

Sprawdzanie połączenia SFTP za pomocą WinSCP
Pobierz i uruchom darmowego klienta WinSCP.
W oknie ustawień połączenia wybierz protokół transferu plików SFTP, określ nazwę serwera i szczegóły konta Windows, pod którym się łączysz

Jeśli wszystko zostało poprawnie skonfigurowane, klient powinien połączyć się z serwerem SFTP i wyświetlić listę plików w katalogu domowym użytkownika (domyślny katalog z profilem użytkownika).
Korzystając ze znanego interfejsu menedżera plików, pliki mogą być bezpiecznie kopiowane między serwerem a klientem. Transfer plików odbywa się za pośrednictwem bezpiecznego protokołu SFTP.

Odinstalowywanie usługi Win32 OpenSSH
Aby poprawnie usunąć usługę Win32 OpenSSH z systemu:
1) Uruchom "PowerShell" jako Administrator:
Start, wpisz"PowerShell"→ Kliknij prawym przyciskiem myszy na"PowerShell" → Uruchom jako Administrator

2) Przejdź do katalogu OpenSSH, w tym przykładzie: "C:\Windows\OpenSSH-Win64".
cd C:\Windows\OpenSSH-Win64
3) Zatrzymaj usługę SSHD:
Stop-Service sshd
4) Odinstaluj usługę OpenSSD:
.\uninstall-sshd.ps1

Problemy z konfiguracją OpenSSH w systemie Windows i jak je rozwiązać
Konfiguracja OpenSSH w systemie Windows może być nieco kłopotliwa, szczególnie po aktualizacjach Windows wydanych po październiku 2024 roku, ponieważ mogą one wpływać na działanie OpenSSH. Jeśli napotkasz problemy z OpenSSH, takie jak błąd 1067 lub niemożność połączenia, zainstaluj aktualizację Windows KB5052093 (luty 2025). Ta aktualizacja zawiera poprawki dla problemów spowodowanych aktualizacjami z października 2024 roku. Sprawdź jej dostępność w „Ustawieniach” → „Aktualizacje i zabezpieczenia” → „Windows Update” (w tym aktualizacje opcjonalne). Przed instalacją utwórz punkt przywracania systemu na wypadek nieprzewidzianych problemów. Ponadto, aby rozwiązać większość problemów, skorzystaj z rozwiązań przedstawionych w poniższej tabeli.
Problem | Przyczyna | Rozwiązanie |
---|---|---|
Usługa nie uruchamia się (błąd 1067) | Zmiana uprawnień dostępu do C:\ProgramData\ssh\logs | Pozostaw tylko SYSTEM i Administratorzy z pełnym dostępem |
Nie można się połączyć | Zapora blokuje port 22 | Dodaj regułę w zaporze dla portu 22 |
Błędy uwierzytelniania | Nieprawidłowe dane uwierzytelniające lub ustawienia kluczy | Sprawdź dane uwierzytelniające, dodaj PubkeyAcceptedAlgorithms +ssh-rsa w pliku sshd_config |
Usługa w stanie „installpending” | Niekompletna instalacja | Przeinstaluj OpenSSH, usuń folder C:\Windows\System32\OpenSSH |
Problemy z połączeniem zewnętrznym | Port 22 jest blokowany przez router | Skonfiguruj przekierowanie portu 22 |
Zawieszanie się sesji SSH | Błędy w OpenSSH lub ustawieniach klienta | Zaktualizuj OpenSSH, sprawdź ustawienia klienta |