[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] ssh sem senha via script
From: |
MrBiTS |
Subject: |
Re: [shell-script] ssh sem senha via script |
Date: |
Tue, 27 Jan 2009 07:30:07 -0200 |
User-agent: |
Thunderbird 2.0.0.19 (X11/20090105) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> Boa noite a todos
>
> Bom fui encarregado de fazer um script na minha empresa que deve
> funcionar da seguinte forma :
> deve acessar remotamente (ssh) vários servidores e coletar informações de
> vários em arquivos log.
> mas não dá pra ficar digitando a senha toda vez que for conectar remotamente.
>
> não vejo como possibilidade usar o sshpass pois eu teria que instalá-lo em
> todas as estações de trabalho.
> e tem que baixar um compilador em C e depois compilar, pois o sshpass está
> disponivel pra download só o código fonte,
>
> também não vejo como usar o ssh-keygen pois eu teria que jogar manualmente
> uma das chaves geradas em todos os servidores, pois são mais 200
> servidores!!!!
>
> alguem tem uma luz?!?!?!?!?
IMHO, uma dúvida menos de Shell-Script e mais de ferramentas em sí, não é ?
Ainda IMHO, você não quer ter trabalho de compilar e instalar o sshpass.
Um amigo abaixo recomendou o plink. Não o usei e não sei se há binários para
Linux, e já vimos que você não quer fazer uma simples
compilação. Além do mais, um cara que permita a passagem de senhas de acesso
numa linha de comando, e ainda para uma tarefa que,
teoricamente, só o root deveria fazer, para mim não serve. Quer dizer que você
vai passar a sua senha de root de 200 servidores numa
linha de comando, em plain-text mesmo ?
O caminho correto, seguro e elegante é usar a troca de chaves. São mais de 200
servidores ? Shell-script pode te ajudar. O
"problema" é que você vai ter um pouco de trabalho digitando as 200 senhas, mas
será somente uma vez. Se você ainda não possuir,
crie uma lista dos seus servidores. Se você seguiu um padrão de nomes (
server-1, server-2, ... , server-N ) então você não precisa
da lista. Daí, faça um simples laço for, na linha de comando mesmo, copiando a
chave pública para os servidores. Mastigado, hein:
for SERVER in $(seq 1 n); do
scp ~/.ssh/id_dsa.pub server-$SERVER:~/.ssh/authorized_keys
done
Se você não segue um padrão de nomes de servidores, crie a lista dos nomes e
troque o seq por um cat nessa lista e viva. De novo,
você vai ter que digitar as 200 senhas, mas é somente uma vez e ela não ficará
escrita num arquivo, para todo mundo ler.
- --
Um abraço
.0. MrBiTs - address@hidden
..0 GnuPG -
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkl+1BkACgkQrDdxWm3R8YbXLwCgmGk9GdNUmEa/3oYu1ASbvAtm
a4AAn3qt7/6R7DmVhpPrL8U6jC1Hp1gH
=7wel
-----END PGP SIGNATURE-----