2012-04-20 16:02:59 +0000 2012-04-20 16:02:59 +0000
24
24

Jak zrobić SCP z serwera linuksowego na klienta Windows

Jestem SSHing na maszynie z Linuxem używając PuTTY i próbuję skopiować plik gdzieś (gdziekolwiek) na moją lokalną maszynę. I figure SCP jest najlepszym kandydatem do tej pracy, ale nie obchodzi mnie to, tak długo jak rozwiązanie działa!

I cd do katalogu zawierającego plik, który chcę (app.war) i wpisz:

scp app.war ./

Próbowałem obu bezskutecznie:

scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/

Zacząłem myśleć, że może SCP jest narzędziem klient/serwer i wymaga klienta na mojej maszynie z Windows, którego tam nie ma.

Czy po prostu używam złej składni? Czy może jestem daleko poza bazą? Jeśli tak, to jakie mam opcje? Dziękuję z góry!

Odpowiedzi (6)

25
25
25
2012-04-20 16:12:55 +0000

aby skopiować pliki z powrotem do systemu Windows potrzebny jest demon SSH/usługa, o wiele łatwiej jest używać tego narzędzia, ma ono możliwość importowania sesji z klienta Putty, bardzo prosty klient forward pokochasz to! WinSCP :: Free SFTP and FTP client for Windows

12
12
12
2012-04-20 16:10:01 +0000

Masz rację. SSHD to usługa serwera SSH, która działa na hoście. Akceptuje on połączenia z klientami SSH (jak PuTTy), klientami SCP i klientami SFTP.

Możesz pobrać pscp z tej samej strony internetowej, na której znajduje się PuTTY .

Z maszyny windowsowej wykonałbyś polecenie podobne do

pscp.exe someuser@somehost.com:/path/to/app.war c:\tmp

2
2
2
2015-07-27 11:19:07 +0000

Do SCP pliku do maszyny z systemem Windows potrzebny jest serwer SSH/SCP w systemie Windows.

Domyślnie w systemie Windows nie ma obsługi SSH/SCP. Możesz zainstalować Microsoft zbudowany z OpenSSH dla Windows Zwolnienia i pliki do pobrania ). Jest on dostępny jako funkcja opcjonalna w systemie Windows 10 w wersji 1803 i nowszej. Można go również zainstalować ręcznie na starszych wersjach systemu Windows.

Przygotowałem przewodnik do konfiguracji SSH/SFTP server on Windows przy użyciu tej kompilacji Microsoft OpenSSH .

Zobacz również Czy IIS SFTP jest obsługiwany natywnie przez Windows?

  • *

Mimo, że SSH na serwerze Linux z maszyny z systemem Windows, w rzeczywistości możesz pobrać plik z serwera Linux na serwer Windows, zamiast próbować wgrać go z serwera Linux na serwer Windows.

Masz dostęp SSH z Windows do Linuksa, masz również dostęp SCP (lub jeszcze lepszy dostęp SFTP).

Użyj dowolnego dostępnego klienta SCP/SFTP.

Można użyć klienta WinSCP SFTP/SCP , który posiada zarówno GUI jak i interfejs wiersza poleceń .

Inną alternatywą jest zestaw narzędzi PuTTY, który zawiera narzędzie pscp wiersza poleceń ze składnią podobną do polecenia OpenSSH scp. Także najnowsze wersje Windows 10 mają wbudowany OpenSSH scp i mogą być instalowane także na starszych wersjach.

(jestem autorem WinSCP)

1
1
1
2019-05-17 03:57:39 +0000

Windows 10 ma teraz wbudowany OpenSSH https://docs.microsoft. com/en-us/windows- server/administration/openssh/openssh_install_firstuse

Get an admin command prompt

Open PowerShell as an Administrator.

Check available versions

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Install client

Install server

Add-WindowsCapability -Online -Name OpenSSH.Client ~~~~ 0.0.1.0
Start server and enable at boot
Add-WindowsCapability -Online -Name OpenSSH.Server ~~~~ 0.0.1.0

Find your Windows IP address

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

On your remote (Linux) machine, Znajdź swój adres IP.

ipconfig

Create a public SSH key

ifconfig

Kopiuj klucz publiczny z maszyny lokalnej (Windows) na zdalną (Linux), aby nie trzeba było cały czas wpisywać hasła.

Zauważ, że ssh-copy-id nie jest obecnie dostępny w Windows.

ssh-keygen.exe

Rób to samo na swojej maszynie z Linuksem (uwaga, ssh-copy-id nie działa)

cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
  • Powyższa metoda nie zadziałała dla mnie, więc skończyłem z ręcznym SCPingiem klucza publicznego i wklejeniem go do pliku C:/Users/YOU/.ssh/authorized_keys.

  • To nadal nie działało, więc musiałem zmodyfikować plik sshd_config.

ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
  • Reboot

Tworzenie hasła w systemie Windows, jeśli nie masz jeszcze

Match User YOU
             AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys

– Zauważ, że nadal możesz wyłączyć ekran logowania do systemu Windows poprzez a) Ustawienie opcji ‘Wymagaj logowania’ na nigdy i b) Użycie polecenia ‘netplwiz’ i odznaczenie opcji ‘Użytkownicy muszą podać hasło. …’ checkbox.

Teraz powinieneś mieć możliwość SSH lub SCP z Twojej maszyny z Linuksem

System Settings...Sign-in options
1
1
1
2019-12-05 02:57:19 +0000

Możesz to zrobić za pomocą podsystemu Linux Ubuntu dla Windows (musisz to włączyć jako funkcję Windows). Następnie możesz użyć klienta terminala dla Linuksa, który działa na Windows, pobierając go z Microsoft Store (np. Ubuntu 16.04 LTS). Następnie, jeśli masz ustawione zabezpieczenia ssh na zdalny dostęp do Twojej maszyny z Linuksem, możesz scp z lokalnego terminala Ubuntu z Windows (po zalogowaniu się jako nazwa użytkownika, którą ustawiłeś dla swojej instancji z Linuksem) coś takiego:

scp -i ~/.ssh/my_rsa username@11.11.11.11:~/myfile ~/… wpisz hasło RSA

Zdalny plik zostanie skopiowany do lokalnego systemu plików Ubuntu używanego przez Windows np.

C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username

-1
-1
-1
2017-05-30 13:43:58 +0000

Krok 1: Pobierz pscp https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html (W oparciu o Twoją maszynę pobierz odpowiednią wersję)

Krok 2: Zapoznaj się z poleceniami pscp Aby to zrobić, otwórz polecenie zachęty w Twojej maszynie windows, przejdź do katalogu, w którym pobrałeś pscp. exe i wpisz “pscp”

Krok 3: Przenieś plik z Twojej maszyny z Linuksem do maszyny z Windowsem otwórz zapytanie o komendę i wykonaj poniższą komendę podając swoje dane:

pscp usernameofyourlinuxmachine@10.40.000.000:/path/of/your/File/nameofyourfile.txt ./

a ta komenda przeniesie plik z Twojej maszyny z Linuksem do bieżącego katalogu maszyny z Windowsem

Krok 4: Prześlij plik z maszyny z Windowsem do maszyny z Linuksem otwórz swój wiersz poleceń i wykonaj poniższe polecenie podając swoje dane:

pscp nameofyourfile.txt usernameofyourlinuxmachine@10.40.000.000:/path/where/youwantyourfile

Mam nadzieję, że to jest jasne i działa dla wszystkich!