shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Shell usando ssh com chave privada embebida no script


From: felipe diefenbach
Subject: Shell usando ssh com chave privada embebida no script
Date: Wed, 29 Oct 2014 19:15:36 +0000 (UTC)

Boa tarde lista.

Estou tentando fazer uma ferramenta para automatizar a conexão através do ssh.
Já estou usando chaves pub/priv corretamente.
Porém me deparei com um problema.

Ao criar o shell script de conexão preciso usar o comando ssh que usa a opção -i para receber um arquivo de chave (like ec2 aws).
Infelizmente o comando só suporta no parâmetro -i como entrada um arquivo. E eu não poderia disponibilizar em disco o arquivo de chave privada descriptografado.
A ideia inicial era criar um shell e compilá-lo, já com a chave embebida dentro do script, mas devido a estas limitações do comando ssh parece que terei que tomar outros caminhos.

Vasculhando na internet no site do ssh existe uma discussão a respeito do assunto, onde um camarada havia feito uma modificação no código c do ssh para aceitar como opção a chave privada através de uma variável ao invés de um arquivo. De qualquer forma não consegui encontrar os patchs para fazer o mesmo.

Cheguei o mais próximo dos resultados que busco com o seguinte código:

#!/bin/bash
ssh -i /dev/stdin -n -T -p 22 -l someuser 111.222.333.444 <<EOF
-----BEGIN RSA PRIVATE KEY-----
......
-----END RSA PRIVATE KEY-----
EOF


Mas o problema com este código é que ele faz a conexão e em seguida desconecta, como se eu estivesse concatenando um comando ao fim do comando ssh.

Tentei algumas outras formas de criptografia com o ccrypt e o gpg. Porem todos gerão um arquivo novo com a chave descriptografada. Permitindo que em algum momento qualquer um possa ler a chave privada.

Não tenho muita habilidade em lidar com o stdin e o stdout, por isso estou solicitando ajuda a lista. Talvez exista uma maneira de manter a conexão após efetuar o comando.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]