Renouveler le certificat TLS de passhport

Quelques explications

Si vous avez installé PaSSHport il y a 1 an, vous rencontrez peut-être le message suivant lorsque vous essayez de vous connecter :

# ssh passhport@passhport.example.com
No such user in PaSSHport database.
tip: it can be a SSL certificate misconfiguration.
Connection to passhport.example.com closed
#

Ceci est généraleument du au fait que passhport (le script) n'arrive pas à se connecter à passhportd, et la cause la plus probable est l'expiration du certificat TLS généré lors de l'installation de PaSSHport.

passhport@passhport-srv:~$ openssl x509 -in /home/passhport/certs/cert.pem -noout -text | grep Validity -A 2
      Validity
          Not Before: Sep 11 10:48:55 2020 GMT
          Not After : Sep 11 10:48:55 2021 GMT
passhport@passhport-srv:~$

Comme on peut le voir ci-dessus, le certificat n'est valable que pour 1 an. Ce dernier a été généré lors de l'installation de PaSSHport.

Renouvellement du certificat avec OpenSSL

Pour renouveler le certificat, utilisez la commande openssl comme suit :

root@passhport:~# openssl req -new -key "/home/passhport/certs/key.pem" \
-config "/home/passhport/passhport/tools/openssl-for-passhportd.cnf" \
-out "/home/passhport/certs/cert.pem" \
-subj "/C=FR/ST=Ile De France/L=Ivry sur Seine/O=LibrIT/OU=DSI/CN=passhport.librit.fr" \
-x509 \
-days 365 \
-sha256 \
-extensions v3_req
root@passhport:~#

Ceci générera un certificat auto-signé, comme celui généré lors de l'installation. Il sera valide pour 1 an. Bien sur, vous pouvez changer ces valeurs selon vos besoins.

Redémarrer passhportd

Il suffit de redémarrer passhportd :

root@passhport:~# systemctl restart passhportd.service
root@passhport:~#

Vous devriez être désormais en mesure d'utiliser de nouveau PaSSHport.