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

Jak zrobić SCP z serwera linuksowego na klienta Windows

Advertisement

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!

Advertisement
Advertisement

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
Advertisement
2
2
2015-07-27 11:19:07 +0000
Advertisement

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
Advertisement
1
1
2019-12-05 02:57:19 +0000
Advertisement

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!

Advertisement

Pytania pokrewne

3
6
10
19
4
Advertisement
Advertisement