Usa Samba.
Samba proporciona un servicio de intercambio de archivos compatible con Windows.
Puede compartir un directorio (por ejemplo, /srv/samba/sharename
) en su computadora Linux y acceda a él desde Windows de esta manera:\\linuxservername\sharename
. No necesita ningún software adicional en el lado de Windows.
Samba está incluido en la mayoría de las distribuciones de Linux. Instálalo usando el administrador de paquetes, por ejemplo:
-
Ubuntu:
sudo apt-get install samba smbclient
-
SUSE:
zypper samba
-
CentOS/RedHat:
yum install samba
Para configurar Samba, consulte:
-
Ubuntu:http://ubuntuforums.org/showthread.php?t=202605
-
SUSE:http://doc.opensuse.org/documentation/html/openSUSE/opensuse-reference/cha.samba.html
-
CentOS/RedHat:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-samba-configuring.html
o busque en Google para encontrar una guía para su distribución.
Tenga en cuenta que es posible que deba configurar su firewall de Linux, en caso de que use uno, para aceptar conexiones a los puertos 137/tcp, 138/tcp, 139/tcp y 445/tcp (ver esto y esto).
En la descripción anterior, la computadora con Linux es un servidor Samba y Windows monta un recurso compartido desde él.
En su comentario a continuación menciona que le gustaría automatizar el proceso de transferencia . Esto se puede lograr invirtiendo los roles para que Windows actúe como servidor y Linux se conecte a él usando smbclient
. .
Con smbclient
no necesita montar el recurso compartido de Windows en absoluto. Por ejemplo, para recuperar C:\Directory\file.txt
y copiarlo en /tmp
en su computadora Linux haga esto:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Comando a ejecutar. Ver man smbclient
para más detalles.
-U
Nombre de usuario y contraseña para acceder al recurso compartido especificado como username%password
Modifíquelo según sus necesidades y agréguelo a su script.
Sé que dijo que no puede esperar que se instale un software específico, pero hay clientes SSH/SCP/SFTP para Windows que no requieren ninguna instalación en particular; solo el ejecutable está disponible. Uno al que sigo recurriendo es PuTTY con su compañero pscp
y psftp
herramientas, pero estoy seguro de que existen alternativas. pscp
y psftp
se pueden controlar completamente desde la línea de comandos y, por lo tanto, son ideales para tareas de automatización. Ambos incluso tienen un -batch
interruptor que se describe como "deshabilitar todas las indicaciones interactivas" y casi seguro que se puede aprovechar.
Dado que presumiblemente ya tiene un servidor SSH/SCP/SFTP instalado y configurado en el servidor, esto evita tener que instalar ningún software en cualquiera de los hosts solo con el fin de copiar esos archivos.
Otra ventaja podría ser el hecho de que PuTTY es de código abierto bajo una licencia permisiva, por lo que si no hace lo que usted quiere de inmediato, debería ser relativamente fácil hacer que actúe de la manera que prefiera.