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

[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-----


reply via email to

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