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

Comment SCP du serveur linux au client Windows

Je suis en train de faire du SSH sur une machine Linux en utilisant PuTTY et j'essaie de copier un fichier quelque part (n'importe où) sur ma machine locale. Je figure SCP est le meilleur candidat pour ce travail, mais je m'en fiche, tant que la solution fonctionne !

I cd au répertoire contenant le fichier que je veux (app.war) et tapez ce qui suit :

scp app.war ./

J'ai essayé les deux sans succès :

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

Cela m'a fait penser que peut-être SCP est un outil client/serveur et nécessite un client sur ma machine Windows, qui n'est pas là.

Est-ce que j'utilise juste la mauvaise syntaxe ? Ou est-ce que je suis loin de la base ? Si oui, quelles sont mes options ? Merci d'avance !

Réponses (6)

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

pour que vous puissiez recopier des fichiers sur votre Windows, vous devez avoir un démon/service SSH qui fonctionne sur votre Windows, il est beaucoup plus facile d'utiliser cet outil à la place, il a la possibilité d'importer des sessions depuis Putty, un client très simple d'utilisation, vous allez l'adorer ! WinSCP : : Free SFTP and FTP client for Windows

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

Vous avez raison. SSHD est le service de serveur SSH qui fonctionne sur l'hôte. Il accepte les connexions des clients SSH (comme PuTTy), des clients SCP et des clients SFTP.

Vous pouvez télécharger pscp à partir du même site web où PuTTY est hébergé.

A partir de la machine Windows, vous exécuterez une commande similaire à

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

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

Pour transférer un fichier vers une machine Windows, vous avez besoin d'un serveur SSH/SCP sur Windows.

Il n'y a pas de support SSH/SCP dans Windows par défaut. Vous pouvez installer le build Microsoft de OpenSSH for Windows Releases and Downloads ). Il est disponible en option sur Windows 10 version 1803 et plus récente. Il peut également être installé manuellement sur les versions plus anciennes de Windows.

J'ai préparé un guide pour la configuration d'un serveur SSH/SFTP sur Windows en utilisant cette version Microsoft d'OpenSSH .

Voir aussi IIS SFTP est-il supporté nativement par Windows ?


Bien qu'en effectuant un SSH sur le serveur Linux à partir de la machine Windows, vous pouvez en fait télécharger un fichier du serveur Linux vers le serveur Windows, au lieu d'essayer de télécharger le fichier du serveur Linux vers le serveur Windows.

En ayant un accès SSH de Windows à Linux, vous avez aussi un accès SCP (ou mieux encore un accès SFTP).

Utilisez n'importe quel client SCP/SFTP disponible. Vous pouvez utiliser WinSCP SFTP/SCP client , qui a à la fois GUI et interface de ligne de commande . Une autre alternative est PuTTY toolset, qui inclut l'outil de ligne de commande pscp avec une syntaxe similaire à la commande OpenSSH scp. Les dernières versions de Windows 10 sont également livrées avec OpenSSH scp intégré et peuvent être installées sur des versions plus anciennes également.

(Je suis l'auteur de WinSCP)

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

Windows 10 intègre désormais 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

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

Installez le serveur

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

Démarrez le serveur et activez-le au démarrage

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

Trouvez votre adresse IP Windows

ipconfig

Sur votre machine distante (Linux), trouver votre adresse IP.

ifconfig

Créez une clé publique SSH

ssh-keygen.exe

Copiez la clé publique de la machine locale (Windows) à la machine distante (Linux) afin de ne pas avoir à taper un mot de passe tout le temps.

Notez que ssh-copy-id n'est pas disponible actuellement sous Windows. Faites la même chose sur votre machine Linux (notez que ssh-copy-id ne fonctionne pas)

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

La méthode ci-dessus n'a pas fonctionné pour moi, j'ai donc fini par SCPer manuellement la clé publique et la coller dans le fichier C:/Users/YOU/.ssh/authorized_keys.

  • Cela ne fonctionnait toujours pas, j'ai donc dû modifier le fichier 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

Créez un mot de passe sur Windows si vous n'en avez pas déjà un

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

– Note, vous pouvez toujours désactiver l'écran de connexion de Windows en a) réglant l'option “Require sign-in” sur never et b) en utilisant la commande “netplwiz” et en décochant la case “Users must enter password. ..‘.

Maintenant, vous devriez être en mesure d'utiliser SSH ou SCP depuis votre machine Linux

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

Vous pouvez le faire en utilisant le sous-système Ubuntu de Linux pour Windows (vous devez l'activer en tant que fonction de Windows). Vous pouvez ensuite utiliser un client terminal Linux qui fonctionne sous Windows en l'obtenant sur le Microsoft Store (par exemple Ubuntu 16.04 LTS). Ensuite, si vous avez configuré la sécurité ssh pour qu'elle s'exécute à distance sur votre machine Linux, vous pouvez scp depuis votre terminal Ubuntu Windows local (lorsqu'il est connecté en tant que nom d'utilisateur que vous avez défini pour votre instance Linux) quelque chose comme ceci :

scp -i ~/.ssh/my_rsa username@11.11.11.11:~/myfile ~/… entrez la phrase de passe RSA

Le fichier distant sera copié dans votre système de fichiers Ubuntu local utilisé par Windows, par exemple

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

Etape 1 : Télécharger pscp https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html (En fonction de votre machine, téléchargez la version respective)

Etape 2 : Se familiariser avec les commandes pscp Pour ce faire, ouvrez l'invite de commande sur votre machine Windows, allez dans le répertoire où vous avez téléchargé pscp. exe et tapez “pscp”

Etape 3 : Transférez le fichier de votre machine Linux vers votre machine Windows ouvrez votre invite de commande, et exécutez la commande ci-dessous en fournissant vos coordonnées :

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

et cette commande transférera le fichier de votre machine Linux vers le répertoire actuel de votre machine Windows

Etape 4 : Transférez le fichier de votre machine Windows vers la machine Linux ouvrez votre invite de commande, et exécutez la commande ci-dessous en fournissant vos détails :

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

J'espère que c'est clair et que cela fonctionne pour vous tous !