Posso transferir arquivos usando SSH?

Posso transferir arquivos usando SSH?

estou usandoMassano Windows 7 para 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?

Responder1

Use a ferramenta PSCP na página de download do putty:

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

PSCP é a versão putty do scp que é um comando cp (copiar) sobre ssh.

O PSCP precisa ser instalado no seu computador Windows (recém-baixado, na verdade, não há processo de instalação. Na seção Arquivos Empacotados, 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á 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 carregar o 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. Isso fará o download do arquivo especificado para o diretório atual.

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

Responder2

você pode usar o Windows PowerShell (na verdade, é o comando OpenSSH, também pode ser usado em qualquer sistema operacional UNIX):

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

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

trocar locais de caminhos locais e remotos para copiar arquivos do host remoto

por exemplo:

  • copiando o arquivo “ps.key” via ssh
  • O sistema operacional local é o Windows 10
  • o endereço remoto é 192.168.88.242, ssh (daemon) funciona na porta 1688
  • nome de usuário remoto é "nick"

comando:

local(win)->remoto(unix):

scp -P 1688 "D:\MEGA\ps.key" [email protected]:/home/nick/ps.key

remoto->local (copiar do host remoto):

scp -P 1688 [email protected]:/home/nick/ps.key "D:\MEGA\ps.key"

Depois disso, você deve confirmar a impressão digital da chave de destino (se ainda não se conectou a este host via PowerShell) e autenticar-se no host remoto (insira a senha do usuário ou a senha da chave ssh se não estiver usando o agente ssh).

deve funcionar no win10 sem qualquer instalação, já que o OpenSSH está integrado lá

Responder3

Você pode ter que usar barras (/) para se comunicar com servidores LINUX/UNIX

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

Responder4

Você pode simplesmente reunir vários 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 descompactava e expandia simultaneamente o fluxo na máquina remota.

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

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

informação relacionada