Como visualizar o progresso com sshpass e scp no linux?

8

No meu terminal Linux, estou usando este comando

sshpass -p "pass" scp -r [email protected]:/cmshome/me/file /home/me/Desktop

para baixar um arquivo com uma senha. Sem o sshpass, posso ver o progresso do download, mas, com ele, ele fica em branco até terminar e não consigo vê-lo.

Existe alguma maneira de ver isso com o sshpass?

    
por omega 05.03.2015 / 04:17

1 resposta

4

Eu acho que o que você pergunta não é facilmente factível, talvez até impossível com scripts bash básicos.

Portanto, o seguinte não responde realmente à sua pergunta, mas fornece outra abordagem para o seu problema.

Em vez de usar sshpass , você poderia usar o comando scp simples com uma autenticação publickey sem senha. Veja [1] se você não sabe o que é.

Se você pretende usar o scp em scripts para uso local , este é o caminho a seguir:

  • gera uma publickey sem senha
  • use ssh-copy-id para adicionar sua chave pública ao servidor

Isso já é suficiente para poder executar o seu comando sem qualquer aviso:

scp -r [email protected]:/cmshome/me/file /home/me/Desktop

Para scripts que você deseja distribuir , sshpass com senha clara certamente não é uma boa idéia, você deve pelo menos usar o sinalizador "-e" do sshpass e deixar o usuário fornecer a senha como um variável de ambiente para melhor segurança.

Nesse caso, a abordagem de chave pública é um pouco menos conveniente, mas ainda é possível. Se você não puder pedir ao usuário do script para criar uma chave pública, poderá criar uma chave pública em tempo real, copiá-la no servidor e executar scp sem nenhum aviso:

 #!/bin/bash
 KEY="$HOME/.ssh/id_rsa_example"
 if [ ! -e "$KEY" ]; then
     ssh-keygen -t rsa -N "" -f "$KEY"
     sshpass -e ssh-copy-id -i "${KEY}.pub" [email protected]
 fi
 scp -r [email protected]:/cmshome/me/file /home/me/Desktop

Finalmente, há ainda a possibilidade de usar rsync para fazer a barra de progresso:

$ rsync -P --rsh="sshpass -p $PASSWORD ssh -l me8" host.ca:/cmshome/me/file /home/me/Desktop

[1] link

    
por 08.10.2015 / 14:05

Tags