Como posso transferir arquivos do UNIX para o Windows?

4

Eu quero transferir um arquivo de um servidor UNIX para um Windows 2003 Server, então baixei copssh no servidor Windows e openssh já está instalado no servidor UNIX.

Quando executo o seguinte comando (no servidor UNIX):

scp -r /file_in_unix/ user@windows_hostname:\c:\\

A seguinte saída aparece (na tela do servidor UNIX):

100% |***************************************************************|   562       00:00

No entanto, quando vou ver o arquivo na unidade C no servidor Windows, não encontro nada. Por que o arquivo não está aparecendo?

    
por Mohammad AL-Rawabdeh 04.10.2010 / 12:12

5 respostas

9

O caminho de destino parece errado - para a maioria das unix shells a barra invertida é um caractere de escape e não um marcador de caminho, então estou supondo que o arquivo caiu no diretório home do usuário SSH com um nome de arquivo ímpar.

O IIRC copssh é baseado no cygwin, então o que você provavelmente precisaria executar é:

scp -r /file_in_unix/ user@windows_hostname:/cygdrive/c/

Uma alternativa para copiar para um serviço SSH na máquina Windows é usar um cliente GUI como WinSCP no Windows caixa para acessar a máquina Unix e puxar os arquivos dessa maneira - embora isso não seja adequado se você estiver tentando automatizar o processo.

Se você tiver acesso privilegiado na máquina unix (por exemplo, você é, ou pode se tornar via sudo ou similar, root) e tiver o suporte relevante instalado, basta copiar os arquivos em um compartilhamento do Windows. Você não diz o que você está usando. Para o Ubuntu e similares verificando se o suporte está presente e instalando-o se não puder ser feito com sudo aptitude install smbfs , você pode montar um compartilhamento Windwos com algo como sudo mount -tcifs //11.22.33.44//sharename /mnt/tmp -ousername=WindowsUserName (onde 11.22.33.44 é o endereço IP da máquina Windows, dependendo na sua configuração de rede, você pode se referir à máquina pelo nome em vez de pelo endereço). Depois disso, você pode usar as ferramentas básicas de gerenciamento de arquivos ( cp , mv , ...) para interagir com esse compartilhamento do Windows e chamar umount /mnt/tmp quando tiver terminado. Você pode querer escolher um nome de ponto de montagem mais significativo que / mnt / tmp. Você pode deixar o compartilhamento montado, é claro, se a transferência dos dados precisar ser automatizada / programada. Esse método supõe que a máquina Unix pode ver o compartilhamento de arquivos da máquina Windows por meio de qualquer configuração de firewall que possa existir entre eles.

    
por 04.10.2010 / 13:08
2

Você também pode fazer o contrário e extrair arquivos do lado do Windows, em vez de usar o lado Unix. Dê uma olhada em ferramentas como WinSCP , que é uma ferramenta gráfica para transferências de arquivos SCP, que oferece a escolha entre o Windows Explorer ou o Norton Commander, ambos devem ser intuitivos para você. Uma vez logado, você pode navegar para os arquivos de interesse "o caminho do Windows" e arrastá-los e soltá-los onde você quiser.

    
por 06.10.2010 / 16:14
2

Use a ferramenta WinSCP . Funciona como um encanto.

    
por 11.12.2014 / 20:48
1

Eu apenas fiz isso de um servidor Linux para um servidor Windows e verifiquei-o.

scp test.txt someguy @ someserver: / tmp /

/ tmp está na unidade C de um servidor Windows. Não gostou de nada de C, então eu deixei cair, e funcionou.

    
por 11.12.2014 / 20:31
-1

Por que não instalar o Samba na caixa Unix? Então você pode mapear unidades entre os dois sistemas. Alternativamente, eu usaria o psftp (do putty suite) ao invés do scp de linha de comando, já que você não está familiarizado com ele e aparentemente não precisa fazer script dele.

    
por 04.10.2010 / 14:21