É possível que você efetue o acesso entre seus servidores sem fornecer senhas. Existem duas maneiras de realizar isso, uma é utilizando Kerberos e criando uma rede Single Sign-On e a outra é utilizando chaves pública/privada nos servidores. Neste post abordo a segunda solução, e quem sabe num futuro não muito distante eu descreva a segunda :)
Na maquina cliente (a maquina de onde partirá o acesso a um servidor sem pedir pela senha) crie um par de chaves publica/privada com o comando:
neto@servidorcliente# ssh-keygen -b 4096 -t rsa
onde:
-b
informa o tamanho da chave em bits (1024, 2048, 4096)-t
informa o tipo da chave (RSA/DSA)
após gerar a chave, é solicitado o diretório onde será armazenado a chave (/home/neto/.ssh/id.rsa
) aceite o padrão. Em seguida será solicitado a senha e a confirmação da senha. Como a intenção é logar sem autenticação, deixe essa senha em branco.
Copie o conteúdo do arquivo /home/neto/.ssh/id.rsa.pub
do servidor cliente para o arquivo /home/neto/.ssh/authorized_keys
no sevidor, utilize os comandos:
# cd /home/neto/.ssh
# scp id_rsa.pub neto@servidor:id_rsa-cliente
# ssh neto@servidor
# cat id_rsa-cliente >> .ssh/authorized_keys
Agora você poderá efetuar logoff e ao logar novamente com o usuário, a senha não será mais solicitada.
Caso queira utilizar o usuário root, não esqueça de liberar no arquivo /etc/ssh/sshd_config
o acesso via ssh (PermitRootLogin yes
)