Você deve configurar a autenticação usando par de chaves pública / privada, como você já mencionou que você gerou usando ssh-keygen
. Já gerou sem uma senha na chave privada, se você precisar usá-lo em scripts automatizados. Agora, basta copiar a chave pública usando ssh-copy-id name@host
para configurá-la corretamente no lado remoto (autorize a chave pública).
Sugiro que você siga um tutorial como este .
Se ssh
funcionar, então scp
funcionará da mesma forma.
Depois de configurá-lo corretamente, você poderá fazer isso sem interação:
scp myscript.sh name@remotehost:~/
ssh name@remotehost ~/myscript.sh
Para evitar a inserção de uma senha ou passphrase, existem algumas opções
- use um agente de autenticação para manter a senha / senha longa para a chave privada
- não use nenhuma frase secreta para proteger a chave privada
O primeiro é apropriado para uso interativo, este último é menos seguro. Provavelmente, você deve configurar um novo ID de usuário para isso com direitos mínimos na extremidade remota (por exemplo, chrooted)