Script Bash para SCP - Chaves SSH

3

Estou trabalhando como programador no momento e, como resultado, preciso enviar constantemente meu software para sistemas remotos para testes. Eu tenho cerca de 7 máquinas que precisam receber cópias de tudo.

No momento, tenho um pequeno script com um scp executando a transferência para cada máquina remota:

echo -e "\nUpdating Taiwan Machine"
scp {file1,file} bschlinker@taiwan:/home/bschlinker/
echo -e "\nUpdating Wisconsin Machine"
scp -P 2400 {file1,file2} bschlinker@wisconsin:/home/bschlinker/

Estou dolorosamente solicitada a senha para cada máquina. Eu reconheço que posso resolver isso com chaves SSH - mas eu não quero ter autenticação sem senha para as máquinas remotas através da chave. Como resultado, tenho uma senha definida na minha chave SSH. Eu li que depois de digitar sua senha uma vez, ela permanecerá ativa para o restante da sessão de terminal atual. Isso é verdade? Se não, alguma idéia?

    
por BSchlinker 30.06.2010 / 00:46

2 respostas

7

Se você tiver um agente SSH em execução (como o habilmente chamado ssh-agent ), poderá adicionar a chave ao agente e o cliente SSH se comunicará com o agente para obtém a chave .

    
por 30.06.2010 / 00:49
3

Você precisa do SSH-AGENT para isso. Em seguida, dependendo do seu sistema operacional, você pode configurá-lo para iniciar a execução quando fizer login e solicitar a senha. Depois, contanto que você esteja logado, ele fornecerá sessões ssh com suas chaves.

O SSH-AGENT também faz algo mais inteligente - se você usar ssh em uma máquina e dessa máquina em um terceiro servidor no qual também tem sua chave pública, a segunda máquina também será autenticada automaticamente através do agente (seu chamado agente de encaminhamento).

    
por 30.06.2010 / 00:53