Usando a linha de comando do PuTTY para fazer o download do arquivo por meio do SSH

2

Estou investigando várias opções para escrever um programa que pode automatizar o download de arquivos em um servidor SSH. Eu preciso disso para logar automaticamente, navegar para diretórios diferentes e baixar todos os arquivos de lá.

No entanto, pensando melhor, parece-me que pode ser mais fácil usar a linha de comando PuTTY para baixar todos os arquivos de várias pastas para o meu próprio computador Windows.

Atualmente, tenho uma conta root que realmente não quero. (Receio que algo possa dar errado e serei o culpado.) Posso solicitar ao administrador do servidor que me forneça uma conta limitada apenas com privilégios de leitura - e apenas para esses diretórios? O PuTTY ainda funcionaria ou requer algo especial no servidor SSH para funcionar? Se assim for, isso seria # 1 maneira para eu resolver o problema do meu cliente.

    
por Tom 13.03.2013 / 12:38

2 respostas

8

O WinSCP é um bom cliente para transferência de arquivos através de SSH, e pode trabalhar a partir do windows cli ou gui.

quanto a direitos, não, você não precisa do root para o ssh, e se eles reduzirem seus privilégios, mas concederem as permissões necessárias nos arquivos que você precisa, isso deve funcionar bem para você. Pessoalmente, não permito login root via ssh, mas não costumo executar distros que ativam uma conta root por padrão.

    
por 13.03.2013 / 12:43
5

O pacote de utilitários do PuTTY inclui pscp , que é equivalente ao comando OpenSSH scp . Você poderia usá-lo assim:

pscp -pw password [email protected]:/path/to/folder/* c:\local\folder

Isso copiará todos os arquivos remotos na pasta especificada para a pasta local e não necessitará de nada especial no final remoto, além de permitir o acesso limitado do usuário ssh e o acesso à pasta.

Você provavelmente iria querer usar chaves públicas / privadas para evitar a necessidade de colocar a senha em seus scripts - a segunda resposta a esta pergunta mostra como.

Então você usaria:

pscp -i /path/to/private.key [email protected]:/path/to/folder/* c:\local\folder

Para fazer isso, a conta do usuário teria que ter um arquivo /home/username/.ssh/authorized_keys , e o servidor SSH teria que permitir a autenticação de chave pública.

    
por 13.03.2013 / 13:29