Posso transferir arquivos usando SSH?


32

Estou usando o PuTTY no Windows 7 para fazer o SSH no laboratório de informática da minha escola. Posso transferir arquivos da minha máquina Windows para o meu usuário nas máquinas da escola usando SSH?


Estou votando para fechar esta questão como fora de tópico, porque é sobre o Windows, não o Unix.
dr01

@ dr01 true, mas tem muitos votos positivos, então provavelmente vale a pena partir para a posteridade e seguir em frente.
roaima 6/07

Respostas:


41

Use a ferramenta PSCP na página de download da massa:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCP é a versão putty do scp, que é um comando cp (copy) over ssh.

O PSCP precisa ser instalado no seu computador Windows (baixado, na verdade, não há processo de instalação. Na seção Arquivos empacotados, o pscp.exe já está incluído). Nada precisa ser instalado nos servidores da escola. PSCP e scp usam ssh para conectar.

Para responder à pergunta de uso dos comentários:

Para fazer upload do seu computador para um servidor remoto:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

Isso fará o upload do arquivo file.txt para o diretório especificado no servidor. Se a parte final do caminho de destino NÃO for um diretório, será o novo nome do arquivo. Você também pode fazer isso para fazer upload do arquivo com um nome diferente:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

Para baixar um arquivo de um servidor remoto para o seu computador:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

ou

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

ou

c:\pscp user@remote:\home\user\some\file.txt .

Com um ponto solitário no final lá. Isso fará o download do arquivo especificado para o diretório atual.

Como o comentário é muito baixo, também devo salientar aqui que o WinSCP existe fornecendo uma GUI para tudo isso, se isso for de interesse: http://winscp.net/eng/download.php


Não consigo instalar nada nos computadores da universidade, é claro. Eu preciso?
Alex Mohr

A máquina Windows 7 é sua ou de suas escolas? Li a pergunta para sugerir que você está usando massa no seu computador para se conectar à escola. Se for esse o caso, não será necessário instalar nada no computador da escola, mas sim no seu.
SuperMagic

Estou usando minha máquina Windows 7. obrigado! Eu encontrei o comando wget e eu usei dropbox para transferir o arquivo, mas vou manter isso em mente, com certeza
Alex Mohr

Mais uma coisa: o scp funciona nos dois sentidos. Você pode fazer o upload e fazer o download com ele.
SuperMagic

Estou tendo alguns problemas com a sintaxe do comando. É pscp source "path_to_local_file" user@host:path_to_new_location:? Eu trabalhei para deixar o caminho na máquina remota em branco, basta colocá-lo no meu diretório raiz.
Alex Mohr #

6

Pode ser necessário usar barras (/) para conversar com servidores LINUX / UNIX

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path

3

Você pode apenas reunir muitos arquivos com tar:

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

... que compactaria e transmitiria recursivamente todos os arquivos no diretório atual na máquina local para o caminho de destino enquanto descompacta e expande simultaneamente o fluxo na máquina remota.

Você pode fazer coisas semelhantes para qualquer coisa que escreva no stdout. caté uma escolha óbvia:

cat ./localfile | ssh user@remote 'cat >./remotefile'

11
Ótimo. Como fazê-lo no Windows
Joe

@ Joe - da mesma maneira? Talvez <./localfile putty user@remote 'cat >./remotefile'- eu esqueci todos os interruptores de massa. Mas é bem próximo #
mikeserv

11
A versão do Windows / PuTTY seria: digite localfile | plink user @ remote "cat> remotefile"
Adam Haun 12/01

2

Você pode usar o WinSCP para isso. É muito mais fácil do que as outras ferramentas listadas, fornece uma interface simples de arrastar e soltar.


Não está claro que relação isso tem com a pergunta. A menos que seja apenas o nome de um programa cliente e o resto seja lixo.
21730 Tom Hunt -

Talvez a pergunta tenha mudado ao longo do tempo, mas esta é a resposta que eu estava procurando: este é um programa com uma interface gráfica que pode navegar e transferir arquivos pelo ssh. Ele ainda importa configurações do Putty. Muito útil IMHO, apenas não se lembrava de seu nome, thx
Emile Vrijdags

2

você pode usar o comando do Windows PowerShell:

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-P O sinalizador pode ser omitido se o ssh for aberto na porta padrão (22)

por exemplo:

  • copiando o arquivo "ps.key" do host do Windows via ssh
  • o endereço de destino é 192.168.88.242, o ssh funciona na porta 1688
  • o nome de usuário de destino é "nick"

comando:

scp -P 1688 "D:\MEGA\ps.key" nick@192.168.88.242:/home/nick/ps.key

Depois disso, confirme a impressão digital da chave de destino (se você não tiver se conectado a este host via PowerShell antes) e digite a senha do usuário de destino.

testado no win10, não exigiu nenhuma instalação adicional


Isso não parece um comando do PowerShell. Tem certeza de que não é scpda suíte PuTTY?
roaima 6/07

O @roaima OpenSSH está disponível como parte opcional, mas integrada do Windows 10, desde a atualização do Fall Creator (final de 2017) e foi instalado por padrão desde a atualização de abril de 2018. O scpcomando está incluído.
precisa saber é o seguinte

11
@BobSammers oh assim é. (O meu está mascarado por uma instalação do Cygwin.) Mas não é o Powershell, em nenhum sentido unificado. Linha de comando certamente, mas não Powershell.
roaima

Na verdade, esta é a solução mais fácil, eu apenas tentei com o PShell no meu Windows e ele abre um SSH no RHEL, solicita a senha, copia o arquivo e fecha. E funciona!
Raffaeu 11/03

0

Use a ferramenta Beyond Compare se você não é um guru da linha de comando. O Beyond Compare é uma ferramenta de comparação de pastas, com uma ótima interface de usuário e permite usar o arquivo de chave privada SFTP e SSH para diferentes ambientes nos quais você está tentando se conectar. Aqui está o link para a ferramenta [ https://www.scootersoftware.com/{/1]


0

Desde que você já esteja familiarizado com a massa de vidraceiro. Eu sugiro que você dê uma olhada em https://mobaxterm.mobatek.net/ . O MobaXterm tem tudo o que você precisa para trabalhar remotamente no Linux a partir do computador Windows, ssh, sftp, scp e Xwindows. É muito melhor do que massa de vidraceiro, na minha opinião.


Também é gratuito (gratuito) para uso não pessoal; por exemplo, ao SSH para um laboratório de informática da escola (como na pergunta)?
Pierre.Vriens

sim. O MobaXterm é gratuito mesmo para uso comercial, a menos que você precise salvar mais de 10 sessões. Sou desenvolvedor de software e a versão gratuita funciona perfeitamente para o meu trabalho. Para o trabalho escolar, vá em frente.
Cen R. 25/10
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.