Questão Como posso transferir arquivos do UNIX para o Windows?


Eu quero transferir um arquivo de um servidor UNIX para um Windows 2003 Server, então eu 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 no C dirigir no servidor Windows, eu não acho nada. Por que o arquivo não está aparecendo?


4


origem


Você usou a funcionalidade de pesquisa do Windows para localizar o arquivo copiado? Talvez esteja lá, mas não no local onde você olha? - Olfan


Respostas:


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

O copssh do IIRC é 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 na caixa do Windows 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 que o suporte está presente e instalá-lo se não puder ser feito com sudo aptitude install smbfs, você pode montar uma parte do 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 da sua configuração de rede, você pode se referir à máquina pelo nome em vez de pelo endereço). Uma vez feito isso, 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.


9



O CopSSH que a questão menciona é baseado no porte do OpenSSH da Cygwin, então espero que ele se comporte de forma quase idêntica. Para outras implementações SSH / SFTP / SCP, talvez seja necessário usar nomes de unidade de estilo do Windows e separadores de caminho, caso em que o comando na pergunta provavelmente precisaria de um pouco de escape extra para evitar que esses caracteres fossem interpretados pelo shell em vez de passar para o outro lado. - David Spillett


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


2





Usar WinSCP ferramenta. Funciona como um encanto.


2





Eu fiz isso, de um servidor Linux, para um servidor Windows e verifiquei.

scp test.txt someguy @ someserver: / tmp /

/ tmp está na unidade C de um servidor Windows. Não gostava de nada a ver com C, então deixei cair e funcionou.


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.


-1



O Samba é um grande risco de segurança. Um monte de furtos de arquivos ocorre com o Samba instalado. - Sun
O que você quer dizer com "furtar"? - CarlF
cvedetails.com/vendor/102/Samba.html - Sun
O @Sun Windows tem ainda mais vulnerabilidades, portanto, na verdade, a Microsoft precisa fazer atualizações mensais. Às vezes mais de 12 por mês. O Samba não é inerentemente mais vulnerável, pois eles estão falando o protocolo baseado na Microsoft. Contanto que você o proteja corretamente, o samba não deve ser um problema. Você sempre pode cortar e colar o arquivo do Windows para outro volume, então o compartilhamento estará vazio. - cybernard