
Quiero transferir un archivo desde un servidor UNIX a un servidor Windows 2003, así que lo descargué copssh
al servidor Windows y openssh
ya está instalado en el servidor UNIX.
Cuando ejecuto el siguiente comando (en el servidor UNIX):
scp -r /file_in_unix/ user@windows_hostname:\c:\\\
Aparece el siguiente resultado (en la pantalla del servidor UNIX):
100% |***************************************************************| 562 00:00
Sin embargo, cuando voy a ver el archivo en la C
unidad del servidor de Windows, no encuentro nada. ¿Por qué no aparece el archivo?
Respuesta1
La ruta de destino parece incorrecta: para la mayoría de los shells de Unix, la barra invertida es un carácter de escape, no un marcador de ruta, por lo que supongo que el archivo se ha colocado en el directorio de inicio del usuario SSH con un nombre de archivo extraño.
IIRC copssh está basado en cygwin, por lo que probablemente necesitabas ejecutar es:
scp -r /file_in_unix/ user@windows_hostname:/cygdrive/c/
Una alternativa a copiar a un servicio SSH en la máquina Windows es utilizar un cliente GUI comoWinSCPen el cuadro de Windows para iniciar sesión en la máquina Unix y extraer los archivos de esa manera, aunque esto no es adecuado si está intentando automatizar el proceso.
Si tiene acceso privilegiado en la máquina Unix (es decir, es root o puede convertirse a través de sudo o similar) y tiene instalado el soporte relevante, puede simplemente copiar los archivos en un recurso compartido de Windows. No dices qué Unix estás usando. Para Ubuntu y similares, verificar que haya soporte e instalarlo si no se puede hacer con sudo aptitude install smbfs
, puede montar un recurso compartido de Windwos con algo como sudo mount -tcifs //11.22.33.44//sharename /mnt/tmp -ousername=WindowsUserName
(donde 11.22.33.44 es la dirección IP de la máquina con Windows, dependiendo de la configuración de su red, puede poder referirse a la máquina por su nombre en lugar de por su dirección). Una vez que haya hecho eso, puede usar las herramientas básicas de administración de archivos ( cp
,, mv
...) para interactuar con ese recurso compartido de Windows y llamar umount /mnt/tmp
cuando haya terminado. Es posible que desee elegir un nombre de punto de montaje más significativo que /mnt/tmp. Por supuesto, puede dejar el recurso compartido montado si la transferencia de datos debe automatizarse/programarse. Este método supone que la máquina Unix puede ver los archivos compartidos de la máquina Windows a través de cualquier disposición de firewall que pueda existir entre ellos.
Respuesta2
También puede hacerlo al revés y extraer archivos desde el lado de Windows en lugar de hacerlo desde el lado de Unix. Eche un vistazo a herramientas comoWinSCPque es una herramienta gráfica para transferencias de archivos SCP que le permite elegir entre la apariencia del Explorador de Windows o Norton Commander, las cuales deberían ser intuitivas para usted. Una vez que haya iniciado sesión, puede navegar hasta los archivos de interés "al estilo Windows" y arrastrarlos y soltarlos donde desee.
Respuesta3
UsarWinSCPherramienta. Funciona de maravilla.
Respuesta4
¿Por qué no instalar Samba en la caja Unix? Luego puede asignar unidades entre los dos sistemas. Alternativamente, usaría psftp (de la suite PuTTY) en lugar de la línea de comandos scp, ya que no está familiarizado con él y aparentemente no necesita escribirlo.