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

Cómo hacer SCP desde el servidor de Linux al cliente de Windows

Estoy SSHing en una máquina Linux usando PuTTY y tratando de copiar un archivo en algún lugar (en cualquier lugar) a mi máquina local. Yo figuro que SCP es el mejor candidato para el trabajo pero no me importa, ¡siempre y cuando la solución funcione!

I cd al directorio que contiene el archivo que quiero (app.war) y escribo lo siguiente:

scp app.war ./

He intentado ambos sin éxito:

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

Me hizo pensar que tal vez SCP es una herramienta cliente/servidor y requiere un cliente en mi máquina Windows, que no está allí.

¿Estoy usando la sintaxis equivocada? ¿O estoy fuera de la base? Si es así, ¿qué opciones tengo? Gracias de antemano!

Respuestas (6)

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

para poder copiar archivos a tu Windows necesitas un demonio/servicio SSH que se ejecute en tu Windows, es mucho más fácil usar esta herramienta en su lugar, tiene la capacidad de importar sesiones de Putty, cliente de avance muy sencillo ¡te encantará! WinSCP :: Cliente SFTP y FTP gratuito para Windows

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

Tiene razón. SSHD es el servicio de servidor SSH que se ejecuta en el host. Acepta conexiones de clientes SSH (como PuTTy), clientes SCP y clientes SFTP.

Puedes descargar pscp desde el mismo sitio web donde está alojado PuTTY .

Desde la máquina Windows, ejecutarías un comando similar a

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

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

Para hacer SCP a un archivo en una máquina de Windows, necesitas un servidor SSH/SCP en el Windows.

No hay soporte de SSH/SCP en el Windows por defecto. Puedes instalar Microsoft build de OpenSSH para Windows Lanzamientos y Descargas ). Está disponible como una característica opcional en Windows 10 versión 1803 y más reciente. También puede ser instalado manualmente en versiones antiguas de Windows.

He preparado una guía para configurar Servidor SSH/SFTP en Windows usando esta compilación de Microsoft de OpenSSH .

Ver también [ ¿Es IIS SFTP soportado nativamente por Windows? Aunque al entrar SSH en el servidor Linux desde la máquina de Windows, puedes descargar un archivo del servidor Linux al servidor Windows, en lugar de intentar subir el archivo del servidor Linux al servidor Windows.

Si tienes un acceso SSH de Windows a Linux, también tienes un acceso SCP (o mejor aún un acceso SFTP).

Utiliza cualquier cliente SCP/SFTP disponible.

Puedes usar WinSCP SFTP/SCP client , que tiene tanto GUI como interfaz de línea de comandos .

Otra alternativa es el conjunto de herramientas PuTTY, que incluye la pscp herramienta de línea de comandos con una sintaxis similar al comando OpenSSH scp. También las últimas versiones de Windows 10 vienen con OpenSSH scp incorporado y puede ser instalado en versiones anteriores también.

(Soy el autor de WinSCP)

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

Windows 10 ahora tiene OpenSSH incorporado https://docs.microsoft. com/en-us/windows- servidor/administración/openssh/openssh_install_firstuse

Obtener un símbolo de comando de administración

Open PowerShell as an Administrator.

Comprobar las versiones disponibles

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

Instalar cliente

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

Instalar el servidor

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

Iniciar el servidor y habilitarlo en el arranque

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

Buscar la dirección IP de Windows

ipconfig

En su máquina remota (Linux), encontrar su dirección IP.

ifconfig

Crea una clave pública de SSH

ssh-keygen.exe

Copia la clave pública de la máquina local (Windows) a la máquina remota (Linux) para que no tengas que teclear una contraseña todo el tiempo.

Ten en cuenta que ssh-copy-id no está disponible actualmente en Windows.

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

Haz lo mismo en tu máquina de Linux (Nota, ssh-copy-id no funciona)

ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
  • El método anterior no funcionó para mí, así que terminé haciendo SCP manualmente la clave pública y pegándola en el archivo C:/Users/YOU/.ssh/authorized_keys.

  • Eso todavía no funcionó, así que tuve que modificar el archivo sshd_config.

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

Crear una contraseña en Windows si aún no tienes una

System Settings...Sign-in options

– Nota, aún puedes deshabilitar la pantalla de inicio de sesión de Windows a) Configurando la opción “Requiere inicio de sesión” a nunca y b) Utilizando el comando “netplwiz” y desmarcando la opción “Los usuarios deben introducir la contraseña”. ..‘ casilla de verificación.

Ahora deberías ser capaz de SSH o SCP desde tu máquina Linux

scp FILE WINDOWS_IP:C:/Users/YOU/Desktop
1
1
1
2019-12-05 02:57:19 +0000

Puedes hacerlo usando el subsistema Linux Ubuntu para Windows (necesitas habilitarlo como una característica de Windows). Luego puedes usar un cliente de terminal Linux que se ejecuta en Windows obteniéndolo de la tienda de Microsoft (por ejemplo, Ubuntu 16.04 LTS). Entonces, si tienes ssh security configurado para remoto en tu máquina Linux, puedes scp desde tu terminal local de Windows Ubuntu (cuando te conectas como el nombre de usuario que configuraste para tu instancia Linux) algo como esto:

scp -i ~/.ssh/my_rsa username@11.11.11.11:~/myfile ~/… introduce la contraseña RSA

El archivo remoto se copiará en tu sistema de archivos local Ubuntu usado por Windows, por ejemplo

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

Paso 1: Descargar pscp https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html (Basado en su máquina descargue la versión respectiva)

Paso 2: Familiarizarse con los comandos pscp Para hacerlo, abra el símbolo del sistema en su máquina de Windows, vaya al directorio donde ha descargado pscp. exe y escriba “pscp”

Paso 3: Transfiera el archivo de su máquina Linux a su máquina Windows abra su símbolo del sistema, y ejecute el siguiente comando proporcionando sus datos:

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

y este comando transferirá el archivo de su máquina Linux al directorio actual de su máquina Windows

Paso 4: Transferir el archivo de su máquina de Windows a la máquina de Linux abra su símbolo del sistema, y ejecute el siguiente comando proporcionando sus datos:

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

¡espero que esto sea claro y funcione para todos ustedes!