Primer de tot creem el parell de claus a la màquina client:
$ ssh-keygen -t rsa
Si no volem posar contrasenyes ni res en entrar, quan ens sol·liciti un “passprashe” ho deixem en blanc. Un cop tinguem el parell de claus hem de copiar la pública al servidor:
$ scp ~/.ssh/id-rsa.pub usuari@exemple.com:/home/usuari
Ens connectem al servidor:
$ ssh usuari@exemple.com
Ja dins del servidor:
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys $ cp id_rsa.pub ~/.ssh
Posem els permisos en ordre:
$ sudo chmod 700 ~/.ssh $ sudo chmod 600 ~/.ssh/authorized_keys
Editem la configuració de l’openssh-server:
$ sudo nano /etc/ssh/sshd_config
Les següents línies han de quedar així:
Protocol 2 ServerKeyBits 2048 PermitRootLogin no AuthorizedKeysFile %h/.ssh/authorized_keys PasswordAuthentication no UsePAM no
Reiniciem el servei:
$ sudo /etc/init.d/ssh restart
Per connectar-nos, des del client fem:
$ sudo ssh -i id_rsa usuari@exemple.com
Això només permet connexions des de l’ordinador on s’ha generat la clau, si volem acceptar-ne des de qualsevol dispositiu:
$ nano ~/.ssh/authorized_keys
Al final de la clau pública hi ha el nom de màquina on s’ha generat la clau, el canviem per *.
També podem limitar els usuaris que es poden connectar per SSH afegint la següent línia a /etc/ssh/sshd_config
:
AllowUsers usuari
Retroenllaç: Millorar seguretat servidor | Aniol's blog