SSH sem senha para acesso remoto (utilizando chave pub/priv)
Material necessário
Computador Linux e acesso a console
Realizado por
Todos do TI
Descrição
É 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 auntenticaçã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)