Używam PuTTY na komputerze z systemem Linux i próbuję skopiować plik gdzieś (gdziekolwiek) na moją maszynę lokalną. I dowiedzieć SCP jest najlepszym kandydatem do pracy, ale tak naprawdę nie obchodzi, tak długo jak prace rozwiązanie!
I cd
do katalogu zawierającego plik I Want ( app.war
) i wpisz następujące polecenie:
scp app.war ./
Próbowałem obu bezskutecznie:
scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/
Pomyślałem, że być może SCP jest narzędziem typu klient / serwer i wymaga klienta na moim komputerze z systemem Windows, którego nie ma.
Czy po prostu używam złej składni? A może jestem poza bazą? Jeśli tak, jakie mam opcje? Z góry dziękuję!
scp some_file user@host:/c/temp
Odpowiedzi:
w celu skopiowania plików z powrotem do systemu Windows potrzebujesz demona / usługi SSH, aby działał w systemie Windows, zamiast tego jest o wiele łatwiejsze w użyciu to narzędzie, ma możliwość importowania sesji z Putty, bardzo prostego klienta, z którego będziesz korzystać kocham to!
WinSCP :: Darmowy klient SFTP i FTP dla Windows
źródło
WinSCP
jest dobrym rozwiązaniem dla tego zadania.Masz rację. SSHD to usługi serwera SSH działające na hoście. Akceptuje połączenia od klientów SSH (takich jak PuTTy), klientów SCP i klientów SFTP.
Możesz pobrać
pscp
z tej samej strony, na której hostowany jest PuTTY .Z komputera z systemem Windows można wykonać polecenie podobne do
pscp.exe [email protected]:/path/to/app.war c:\tmp
źródło
Aby przesłać plik do komputera z systemem Windows, potrzebujesz serwera SSH / SCP w systemie Windows.
Domyślnie nie ma obsługi SSH / SCP w systemie Windows. Możesz zainstalować kompilację Microsoft OpenSSH dla Windows ( wersje i pliki do pobrania ). Jest dostępna jako opcjonalna funkcja w systemie Windows 10 w wersji 1803 i nowszych. Można go również zainstalować ręcznie w starszych wersjach systemu Windows.
Przygotowałem przewodnik dotyczący konfigurowania serwera SSH / SFTP w systemie Windows przy użyciu tej kompilacji OpenSSH firmy Microsoft .
Zobacz także Czy IIS SFTP jest natywnie obsługiwany przez system Windows?
Chociaż podczas SSH do serwera Linux z komputera z systemem Windows, faktycznie możesz pobrać plik z serwera Linux na serwer Windows, zamiast próbować przesłać plik z serwera Linux na serwer Windows.
Jeśli masz dostęp SSH z systemu Windows do Linux, masz również dostęp SCP (lub jeszcze lepiej dostęp SFTP).
Użyj dowolnego dostępnego klienta SCP / SFTP.
Możesz użyć klienta WinSCP SFTP / SCP , który ma zarówno GUI, jak i interfejs wiersza poleceń .
Inną alternatywą jest zestaw narzędzi PuTTY, który obejmuje
pscp
narzędzie wiersza poleceń o składni podobnej doscp
polecenia OpenSSH . Również najnowsze wersje systemu Windows 10 są wyposażone wescp
wbudowane oprogramowanie OpenSSH i można je również zainstalować na starszych wersjach.(Jestem autorem WinSCP)
źródło
pscp
funkcjonalnie jest identyczny z OpenSSHscp
, który jest już dostępny we wszystkich / większości dystrybucji.Windows 10 ma teraz wbudowany OpenSSH. Https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Uzyskaj wiersz polecenia administratora
Sprawdź dostępne wersje
Zainstaluj klienta
Zainstaluj serwer
Uruchom serwer i włącz przy rozruchu
Znajdź swój adres IP systemu Windows
Na swoim zdalnym komputerze (Linux) znajdź swój adres IP.
Utwórz publiczny klucz SSH
Skopiuj klucz publiczny z lokalnego (Windows) na zdalny (Linux) komputer, abyś nie musiał cały czas wpisywać hasła.
Pamiętaj, że ssh-copy-id nie jest obecnie dostępny w systemie Windows.
Zrób to samo na komputerze z systemem Linux (uwaga, ssh-copy-id nie działa)
Powyższa metoda nie działała dla mnie, więc skończyłem ręcznie SCP przekręcając klucz publiczny i wklejając go do pliku C: /Users/YOU/.ssh/authorized_keys.
To wciąż nie działało, więc musiałem zmodyfikować plik sshd_config.
Otwórz Notatnik jako Administrator
Otwórz% programdata% \ ssh \ sshd_config
Dodaj następujące wiersze:
Utwórz hasło w systemie Windows, jeśli jeszcze go nie masz
- Uwaga: nadal możesz wyłączyć ekran logowania systemu Windows poprzez: a) Ustawienie opcji „Wymagaj logowania” na nigdy i b) Użycie polecenia „netplwiz” i odznaczenie pola wyboru „Użytkownicy muszą wprowadzić hasło ...”.
Teraz powinieneś mieć możliwość SSH lub SCP z komputera z systemem Linux
źródło
Możesz to zrobić za pomocą podsystemu Linux Ubuntu dla systemu Windows (musisz włączyć tę funkcję jako funkcja systemu Windows). Następnie możesz użyć klienta terminalu Linux działającego w systemie Windows, pobierając go ze sklepu Microsoft Store (np. Ubuntu 16.04 LTS). Następnie, jeśli masz skonfigurowane zabezpieczenia zdalne do komputera z systemem Linux, możesz
scp
z lokalnego terminala systemu Windows Ubuntu (po zalogowaniu się jako nazwa użytkownika ustawiona dla instancji Linuksa) coś takiego:scp -i ~/.ssh/my_rsa [email protected]:~/myfile ~/
... wprowadź hasło RSAPlik zdalny zostanie skopiowany do lokalnego systemu plików Ubuntu używanego przez system Windows, np
C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username
źródło
scp(.exe)
jest wbudowany. Nie musisz niczego instalować.Krok 1: Pobierz pscp
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
(W zależności od komputera pobierz odpowiednią wersję)
Krok 2: Zapoznaj się z poleceniami pscp
Aby to zrobić, otwórz wiersz poleceń na komputerze z systemem Windows, przejdź do katalogu, w którym pobrałeś pscp.exe i wpisz „pscp”
Krok 3: przenieś plik z komputera z systemem Linux na komputer z systemem Windows
otwórz wiersz polecenia i uruchom poniższe polecenie, podając swoje dane:
pscp [email protected]:/path/of/your/File/nameofyourfile.txt ./
a to polecenie przeniesie plik z komputera z systemem Linux do bieżącego katalogu komputera z systemem Windows
Krok 4: przenieś plik z komputera z systemem Windows na komputer z systemem Linux,
otwórz wiersz polecenia i uruchom poniższe polecenie, podając swoje dane:
pscp nameofyourfile.txt [email protected]:/path/where/youwantyourfile
Mam nadzieję, że to jasne i działa na was wszystkich!
źródło