Copiando arquivo remoto para um caminho especificado na área de trabalho local usando scp


10

Eu estava tentando copiar um arquivo do servidor remoto usando o SCP, mas está dando o seguinte erro.

bash-3.2$ scp username@server:main.php C:\main.php

ssh: Não foi possível resolver o nome do host C: nome do host nem nome do serviço fornecido ou desconhecido

Sua assumindo C: como nome do host, mas é apenas o nome da unidade ... Por favor, deixe-me especificar explicitamente como alguns escapamentos para se livrar desse problema.

Se eu não especificar o caminho onde salvar na área de trabalho local, está funcionando bem.

bash-3.2$ scp username@server:main.php main.php
main.php                                                                   100%   29KB  28.9KB/s   00:01

Agradecemos qualquer ajuda. Agradecemos antecipadamente,

PS: Usando o Windows XP SP2

Respostas:


14

Se você estiver usando o Cygwin scp, tente usar os caminhos do Cygwin:

scp user@host:main.php /cygdrive/c/main.php

Você também pode usar os comandos pscpe psftpincluídos no pacote PuTTY - eles são programas nativos do Win32 e não reclamam dos caminhos do Windows.

Como alternativa, o WinSCP é um bom cliente SCP / SFTP (principalmente uma GUI, mas também vem com uma ferramenta de linha de comando).


Na verdade, é / cygdrive / c.
238 Adam Adam Rosenfield

Obrigado pela GUI recomendada. Observe que o WinSCP permite alterar o editor usado com ele e funcionará em conjunto com o emacsclientw.
Giles Roberts

1
@rawity Na verdade, você estava certo antes. É /cygdrive/cpor padrão, mas muitos usuários do cygwin são executados de mount --change-cygdrive-prefix /forma que, em /cvez disso, seja ( /detc), pois é muito mais fácil digitar;)
DavidPostill

2

Use PSCP.exe

O problema que você está tendo é porque você está fazendo referência à sua unidade windows xp a partir do shell, o que você não pode fazer. Você está conectado remotamente a uma máquina, a menos que o seu windows xp box tenha um servidor ssh em execução. Nesse caso, você usaria informações de login e pw para o local de destino, você não poderá fazer isso.

Usando o pscp.exe (gratuito), você pode fazer o que quiser.


0

@Grawity está certo. No futuro, você também pode executar

pwd

para descobrir em que diretório você está, para que você possa descobrir o caminho correto para o diretório que deseja, de acordo com o cygwin.


0

Eu tive o problema semelhante e tive sucesso usando:

nome de usuário scp @ servidor: main.php /c/main.php

que é apenas mencionado pelos outros.


3
Na verdade, não é exatamente isso que superuser.com/a/291841/53590 discute? Além de ter sido editado de / c / para / cygdrive / c / depois de apontado que o último é a forma correta.
um CVn

0

relacionado: eu precisava usar variáveis ​​locais no caminho, e achei que usar cygpathera muito útil.

por exemplo

scp $MY_FILE ubuntu@192.128.23.23

tornar-se:

scp `cygpath $MY_FILE ` ubuntu@192.128.23.23 

ironicamente, apenas: echo $MY_FILEsozinho estava dando um caminho cygwin, mas usado no comando scp, de alguma forma não era, e cuspiu o mesmo erro, ssh: não foi possível resolver o nome do host C: nome do host nem o nome do serviço fornecido ou desconhecido

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.