Wie SCP von Linux-Server auf Windows-Client

Ich SSHing mit PuTTY auf einen Linux-Computer und versuche, eine Datei irgendwo (irgendwo) auf meinen lokalen Computer zu kopieren. I Abbildung SCP ist der beste Kandidat für den job, aber nicht wirklich, so lange, wie die Lösung funktioniert!

I cd in das Verzeichnis mit der gewünschten Datei (app.war) und geben Sie Folgendes ein:

scp app.war ./

Ich habe beide ohne Erfolg versucht:

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

Ich habe gedacht, dass SCP vielleicht ein Client / Server-Tool ist und einen Client benötigt mein Windows-Computer, der nicht da ist.

Verwende ich nur die falsche Syntax? Oder bin ich weit weg von der Basis? Wenn ja, welche Möglichkeiten habe ich? Danke im Voraus!

Author: Martin Prikryl, 2012-04-20

7 answers

Damit Sie Dateien zurück in Ihr Windows kopieren können, benötigen Sie SSH-Daemon / Service, um auf Ihrem Windows ausgeführt zu werden, es ist viel einfacher, dieses Tool stattdessen zu verwenden, es hat die Möglichkeit, Sitzungen aus Putty zu importieren, sehr einfacher Forward-Client Sie werden es lieben!

WinSCP :: Kostenloser SFTP-und FTP-Client für Windows

 29
Author: alexus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-04-20 16:12:55

Du hast Recht. SSHD ist der SSH-Serverdienst, der auf dem Host ausgeführt wird. Es akzeptiert verbindungen von SSH-clients (wie PuTTy), SCP-clients, - und SFTP-clients.

Sie können pscp von derselben Website herunterladen, auf der auch PuTTY gehostet wird.

Auf dem Windows-Computer würden Sie einen ähnlichen Befehl ausführen wie

pscp.exe [email protected]:/path/to/app.war c:\tmp

 14
Author: George M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-04-20 16:10:01

Windows 10 hat jetzt OpenSSH eingebaut. https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse

Erhalte eine Admin - Eingabeaufforderung

Open PowerShell as an Administrator.

Verfügbare Versionen prüfen

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

Client installieren

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Server installieren

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Server starten und beim Booten aktivieren

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

Finden Sie Ihre Windows-IP-Adresse

ipconfig

Suchen Sie auf Ihrem Remote-Computer (Linux) Ihre IP Anschrift.

ifconfig

Erstellen Sie einen öffentlichen SSH-Schlüssel

ssh-keygen.exe

Kopieren Sie den öffentlichen Schlüssel von einem lokalen (Windows) auf einen entfernten (Linux) Computer, damit Sie nicht ständig ein Kennwort eingeben müssen.

Beachten Sie, dass ssh-copy-id derzeit unter Windows nicht verfügbar ist.

cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

Machen Sie dasselbe auf Ihrem Linux-Computer (Hinweis, ssh-copy-id funktioniert nicht)

ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
  • Die obige Methode funktionierte bei mir nicht, sodass ich den öffentlichen Schlüssel manuell SCPing und in den C:/Users/YOU/.ssh/authorized_keys Datei.

  • Das hat immer noch nicht funktioniert, also musste ich die Datei sshd_config ändern.

    • Öffnen Sie den Editor als Administrator

    • Öffnen Sie %programdata%\ssh\sshd_config

    • Fügen Sie die folgenden Zeilen hinzu:

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

Erstellen Sie ein Passwort unter Windows, wenn Sie noch kein Passwort haben

System Settings...Sign-in options

-- Hinweis: Sie können die Fenster weiterhin deaktivieren Anmeldebildschirm durch a) Setzen der Option "Anmeldung erforderlich" auf nie und b) Verwenden des Befehls "netplwiz" und Deaktivieren des Kennworts "Benutzer müssen Kennwort eingeben"...' Kontrollkästchen.

Jetzt sollten Sie in der Lage sein, SSH oder SCP von Ihrem Linux-Computer aus zu verwenden

scp FILE WINDOWS_IP:C:/Users/YOU/Desktop
 7
Author: ishmael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-05-17 03:57:39

Sie können dies tun, indem Sie das Linux Ubuntu-Subsystem für Windows verwenden (Sie müssen dies als Windows-Funktion aktivieren). Anschließend können Sie einen Linux-Terminalclient verwenden, der unter Windows ausgeführt wird, indem Sie ihn aus dem Microsoft Store abrufen (z. B. Ubuntu 16.04 LTS). Wenn Sie dann die ssh-Sicherheit für Remote auf Ihrem Linux-Computer eingerichtet haben, können Sie scp von Ihrem lokalen Windows Ubuntu-Terminal aus (wenn Sie als Benutzername angemeldet sind, den Sie für Ihre Linux-Instanz festgelegt haben) ungefähr so:

scp -i ~/.ssh/my_rsa [email protected]:~/myfile ~/ ... geben Sie RSA passphrase

Die Remote-Datei wird in Ihr lokales Ubuntu-Dateisystem kopiert, das von Windows verwendet wird, z. B.

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

 3
Author: Chris Halcrow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-12-05 04:16:00

Um eine Datei auf einen Windows-Computer zu SCP, benötigen Sie einen SSH/SCP-Server unter Windows.

In Windows gibt es standardmäßig keine SSH/SCP-Unterstützung. Sie können Microsoft Build von OpenSSH für Windows installieren (Releases und Downloads). Es ist als optionale Funktion unter Windows 10 Version 1803 und neuer verfügbar. Es kann auch manuell auf älteren Windows-Versionen installiert werden.

Ich habe eine Anleitung zum Einrichten von SSH/SFTP-Server unter Windows mit diesem Microsoft Build von OpenSSH - .

Siehe auch Wird IIS SFTP nativ von Windows unterstützt?


Wenn Sie jedoch vom Windows-Computer in den Linux-Server SSH, können Sie tatsächlich eine Datei vom Linux-Server auf den Windows-Server herunterladen, anstatt zu versuchen, die Datei vom Linux-Server auf den Windows-Server hochzuladen.

Wenn Sie einen SSH-Zugriff von Windows auf Linux haben, haben Sie auch einen SCP-Zugriff (oder noch besser einen SFTP-Zugriff).

Verwenden Sie einen beliebigen SCP / SFTP-Client verfügbar.

Sie können WinSCP SFTP/SCP Client verwenden, der sowohl GUI als auch Befehlszeilenschnittstelle.

Eine weitere Alternative ist PuTTY Toolset, das die pscp Befehlszeilentool mit einer Syntax ähnlich dem Befehl OpenSSH scp. Auch die neuesten Versionen von Windows 10 werden mit eingebautem OpenSSH scp geliefert und können auch auf älteren Versionen installiert werden.

(ich bin der Autor von WinSCP)

 3
Author: Martin Prikryl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-12-05 13:45:09

Wenn sich jemand in einer sehr gesperrten Umgebung befindet und Sie nicht einmal PuTTY installieren können, mache ich Folgendes:

Übertragen von Dateien von Windows auf Linux (CentOS 7)

Öffnen Sie auf meinem Windows-Computer eine Eingabeaufforderung

scp [local file to send to Linux] [Linux username]@[Linux computer]:[Linux path to save to]

Beispiele:

scp log.txt [email protected]:/home/ryanLinuxUser
scp log.txt [email protected]:/home/ryanLinuxUser

Übertragen von Dateien von Linux auf Windows

Öffnen Sie erneut auf meinem Windows-Computer eine Eingabeaufforderung

scp [Linux username]@[Linux computer]:[Linux path to existing file] [local Windows path to save to]

Beispiele:

scp [email protected]:/home/ryanLinuxUser/log.txt log.txt 
scp [email protected]:/home/ryanLinuxUser/log.txt log.txt 
 1
Author: Ryan Loggerythm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-04 22:16:02

Schritt 1: pscp herunterladen
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
(Basierend auf Ihrer Maschine laden Sie die entsprechende Version herunter)

Schritt 2: Machen Sie sich mit den pscp-Befehlen
Öffnen Sie dazu die Eingabeaufforderung auf Ihrem Windows-Computer und wechseln Sie in das Verzeichnis, in das Sie pscp heruntergeladen haben.exe und Typ "pscp"

Schritt 3: Übertragen Sie die Datei von Ihrem Linux-Computer auf den Windows-Computer
öffnen Sie Ihre Eingabeaufforderung und führen Sie unten Befehl mit Ihren Daten:

pscp [email protected]:/path/of/your/File/nameofyourfile.txt ./

Und dieser Befehl überträgt die Datei von Ihrem Linux-Computer in das aktuelle Verzeichnis Ihres Windows-Computers

Schritt 4: Übertragen Sie die Datei von Ihrem Windows-Computer auf den Linux-Computer
öffnen Sie Ihre Eingabeaufforderung und führen Sie den folgenden Befehl mit Ihren Details aus:

pscp nameofyourfile.txt [email protected]:/path/where/youwantyourfile

Ich hoffe, das ist klar und funktioniert für Euch alle!

 -1
Author: SH',
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-06-01 06:49:24