Estou usando SSH em uma máquina Linux usando PuTTY e tentando copiar um arquivo em algum lugar (em qualquer lugar) na minha máquina local. Eu acho que o SCP é o melhor candidato para o trabalho, mas realmente não me importo, desde que a solução funcione!
I cd
no diretório que contém o arquivo que eu quero ( app.war
) e digite o seguinte:
scp app.war ./
Eu tentei ambos sem sucesso:
scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/
Isso me fez pensar que talvez o SCP seja uma ferramenta cliente / servidor e exija um cliente na minha máquina Windows, que não existe.
Estou apenas usando a sintaxe errada? Ou estou fora da base? Se sim, quais opções eu tenho? Desde já, obrigado!
scp some_file user@host:/c/temp
Respostas:
Para que você possa copiar os arquivos de volta para o Windows, você precisa que o serviço / daemon SSH esteja em execução no Windows, é muito mais fácil usar essa ferramenta, pois é capaz de importar sessões do Putty, um cliente muito simples que você adoro!
WinSCP :: Cliente SFTP e FTP gratuito para Windows
fonte
WinSCP
é uma boa solução para essa tarefa.Você está certo. SSHD são os serviços do servidor SSH que são executados no host. Ele aceita conexões de clientes SSH (como PuTTy), clientes SCP e clientes SFTP.
Você pode fazer
pscp
o download no mesmo site em que o PuTTY está hospedado.Na máquina Windows, você executaria um comando semelhante a
pscp.exe [email protected]:/path/to/app.war c:\tmp
fonte
Para SCP um arquivo em uma máquina Windows, você precisa de um servidor SSH / SCP no Windows.
Por padrão, não há suporte para SSH / SCP no Windows. Você pode instalar o OpenSSH para Windows da Microsoft ( versões e downloads ). Está disponível como recurso opcional no Windows 10 versão 1803 e mais recente. Também pode ser instalado manualmente em versões mais antigas do Windows.
Eu preparei um guia para configurar o servidor SSH / SFTP no Windows usando esta versão do OpenSSH da Microsoft .
Consulte também O SFTP do IIS é suportado nativamente pelo Windows?
Embora, ao fazer o SSH no servidor Linux da máquina Windows, você possa realmente baixar um arquivo do servidor Linux para o servidor Windows, em vez de tentar fazer upload do arquivo do servidor Linux para o servidor Windows.
Se você possui um acesso SSH do Windows ao Linux, também possui um acesso SCP (ou melhor ainda, um acesso SFTP).
Use qualquer cliente SCP / SFTP disponível.
Você pode usar o cliente WinSCP SFTP / SCP , que possui interface gráfica e interface de linha de comando .
Outra alternativa é o conjunto de ferramentas PuTTY, que inclui a
pscp
ferramenta de linha de comando com uma sintaxe semelhante aoscp
comando OpenSSH . Além disso, as versões mais recentes do Windows 10 vêm com o OpenSSHscp
integrado e também podem ser instaladas em versões mais antigas.(Eu sou o autor do WinSCP)
fonte
pscp
seja funcionalmente idêntico ao OpenSSHscp
, que já está disponível em todas / na maioria das distribuições.O Windows 10 agora possui o OpenSSH. Https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Obter um prompt de comando do administrador
Verifique as versões disponíveis
Instalar cliente
Instalar servidor
Iniciar servidor e ativar na inicialização
Encontre o seu endereço IP do Windows
Na sua máquina remota (Linux), encontre seu endereço IP.
Crie uma chave SSH pública
Copie a chave pública da máquina local (Windows) para a máquina remota (Linux) para que você não precise digitar uma senha o tempo todo.
Observe que o ssh-copy-id atualmente não está disponível no Windows.
Faça o mesmo em sua máquina Linux (observe, ssh-copy-id não funciona)
O método acima não funcionou para mim, então acabei manualmente SCP colocando a chave pública e colando-a no arquivo C: /Users/YOU/.ssh/authorized_keys.
Como ainda não funcionou, tive que modificar o arquivo sshd_config.
Abra o bloco de notas como administrador
Abra% programdata% \ ssh \ sshd_config
Adicione as seguintes linhas:
Crie uma senha no Windows se você ainda não tiver uma
- Observe que você ainda pode desativar a tela de login do Windows: a) Configurando a opção 'Requer login' como nunca eb) Usando o comando 'netplwiz' e desmarcando a caixa de seleção 'Os usuários devem digitar a senha ...'.
Agora você deve poder fazer o SSH ou SCP da sua máquina Linux
fonte
Você pode fazer isso usando o subsistema Linux Ubuntu para Windows (é necessário habilitar isso como um recurso do Windows). Em seguida, você pode usar um cliente de terminal Linux que é executado no Windows, obtendo-o da Microsoft Store (por exemplo, Ubuntu 16.04 LTS). Então, se você tiver a segurança ssh configurada como remota na sua máquina Linux, poderá
scp
no terminal Windows Ubuntu local (quando estiver logado como o nome de usuário que você definiu para sua instância do Linux) algo como isto:scp -i ~/.ssh/my_rsa [email protected]:~/myfile ~/
... insira a senha do RSAO arquivo remoto será copiado para o sistema de arquivos Ubuntu local usado pelo Windows, por exemplo
C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username
fonte
scp(.exe)
está embutido. Você não precisa instalar nada.Etapa 1: Faça o download do pscp
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
(Com base na sua máquina, faça o download da respectiva versão)
Etapa 2: Familiarize-se com os comandos pscp
Para fazer isso, abra o prompt de comando na máquina Windows, vá para o diretório em que você baixou o pscp.exe e digite "pscp"
Etapa 3: Transfira o arquivo da sua máquina Linux para a máquina Windows
abra o prompt de comando e execute o comando abaixo, fornecendo seus detalhes:
pscp [email protected]:/path/of/your/File/nameofyourfile.txt ./
e este comando transferirá o arquivo da sua máquina Linux para o diretório atual da sua máquina Windows
Etapa 4: Transfira o arquivo da sua máquina Windows para a máquina Linux,
abra o prompt de comando e execute o comando abaixo, fornecendo seus detalhes:
pscp nameofyourfile.txt [email protected]:/path/where/youwantyourfile
Espero que isso esteja claro e funcione para todos vocês!
fonte