Ferramentas de Usuário

Ferramentas de Site


pt:blog:2014:06_09_acesso_remoto_via_ssh_sem_password

Acesso remoto via SSH sem password

Mais seguro do que utilizar uma password é não utilizar nenhuma password!

O acesso a um sistema remoto via ssh e sem password é possível gerando um par de chaves RSA.

Configuração

A configuração é processada em duas fases:
Numa primeira fase é gerado o par de chaves pública e privada.
Em seguida a parte pública da chave é instalada no ou nos sistemas remotos.

Configuração local

Durante a geração do par de chaves é pedida uma password para proteção das chaves. Esta password é de entrada facultativa: case seja inserida será sempre pedida ao tentar aceder ao sistema remoto. No nosso caso iremos optar por não usar a password.

root@laptop:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
52:70:59:ce:62:6f:3e:3b:58:e3:ed:b5:35:3c:76:9f root@laptop
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                .|
|        S   o .oo|
|       + + . =..+|
|      . + . o Boo|
|         o . *oEo|
|          . ...o |
+-----------------+

No final deste processo serão gerados 2 ficheiros na diretoria ~/.ssh/: a chave publica e a chave privada.

Ficheiro Conteúdo
id_rsa A chave privada: esta chave deve permanacer no sistema local e NUNCA deverá ser partilhada ou divulgada.
id_rsa.pub A chave pública: esta chave deverá ser instalada nos sistemas remotos onde se pretende aceder sem password

Configuração remota

O primeiro passo da configuração consiste em copiar a chave pública do sistema local para o sistema remoto. A chave pública será guardada no sistema remoto em ~/.ssh/authorized_keys.

root@laptop:~# ssh-copy-id root@192.168.1.100
root@192.168.1.100's password:
Now try logging into the machine, with "ssh 'root@192.168.1.100'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

A restante configuração é efetuada no sistema remoto. Em primeiro lugar deveremos aceder remotamente, o que por agora ainda requer a passowrd:

root@laptop:~# ssh 192.168.1.100
root@192.168.1.100's password:
Linux server 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jun  9 14:12:28 2014 from laptop.home.lan
root@server:~$

A configuração do lado remoto deverá ser alterada de modo a permitir logins sem passwords, ou seja, apenas com as chaves. Para isso deve substituir a opção PermitRootLogin no pela opção PermitRootLogin without-password no ficheiro /etc/ssh/sshd_config:

/etc/ssh/sshd_config
#[...]

# Authentication:
LoginGraceTime 120
# PermitRootLogin no
PermitRootLogin without-password
StrictModes yes

#[...]

Reiniciar o serviço:

root@server:~# /etc/init.d/ssh restart

Verificação

Caso a configuração esteja correta, será possível aceder ao sistema remoto sem que seja pedida a password:

root@laptop:~# ssh 192.168.1.100
Linux server 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jun  9 14:50:41 2014 from laptop.home.lan
root@server:~#

Referências

pt/blog/2014/06_09_acesso_remoto_via_ssh_sem_password.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1

Excepto menção em contrário, o conteúdo neste wiki está sob a seguinte licença: CC Attribution-Noncommercial-Share Alike 4.0 International
CC Attribution-Noncommercial-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki