Par défaut sur une Fedora, ce que tu cherches à faire ne pose aucun problème particulier (même pas besoin de désactiver SELinux ou le firewall). Comme j'ai pu lire, le fichier de configuration OpenSSH me semble aussi assez mal fichu.
Plusieurs possibilités s'offrent à toi :
- réinstaller la distribution (réflexe windowsien, certes…)
- réinstaller les configurations par défaut d'OpenSSH si tu les as quelque part
- supprimer tes configurations personnalisées et désinstaller puis réinstaller OpenSSH (qui te recréera la config par défaut)
Je vais détailler la dernière possibilité, puis la création de clé SSH.
D'abord sauver les configurations :[root@lolcathost ~]# tar -cvzpf /root/ssh_backup.tgz /etc/ssh/
Puis sauvegarde des clés :[jo@lolcathost ~]$ tar -cvzpf /home/jo/ssh_old_keys.tgz /home/jo/.ssh/
Ensuite, on fait le ménage par le vide :[root@lolcathost ~]# rm -rf /etc/ssh/ /home/jo/.ssh/
[root@lolcathost ~]# yum -y remove openssh openssh-server openssh-clients openssh-askpass
Après, on réinstalle :[root@lolcathost ~]# yum -y install openssh openssh-server openssh-clients openssh-askpass
On s'assure que les fichiers ont été générés (ça s'affiche peut-être durant l'installation, mais dans le doute…) :[root@lolcathost ~]# ls /etc/ssh/
moduli sshd_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub
ssh_config ssh_host_dsa_key ssh_host_key ssh_host_rsa_key
On s'assure que les outils clients sont là :[root@lolcathost ~]# which ssh ssh-copy-id
/bin/ssh
/bin/ssh-copy-id
On s'assure que sshd est lancé :[root@lolcathost ~]# systemctl status sshd.service
Si ce n'est pas le cas, lancer sshd et l'activer par défaut :[root@lolcathost ~]# systemctl start sshd.service[root@lolcathost ~]# systemctl enable sshd.service
A partir de maintenant, on peut commencer à regarder si la connexion fonctionne avec un mot de passe :[userb@machinedistante ~]$ ssh jo@adresseippubliquedelolcathost
Depuis la machine distante, on peut générer la clé publique avec par exemple la commande suivante :[userb@machinedistante ~]$ ssh-keygen -t rsa -b 4096
Je laisse le soin à d'autres de débattre sur le fait de mettre ou non une phrase de passe.
Ensuite, toujours depuis la machine distante, on utilise ssh-copy-id (fourni par le paquet openssh-clients, voir plus haut pour l'installation) pour copier proprement la clé publique :[userb@machinedistante ~]$ ssh-copy-id jo@adresseippubliquedelolcathost
Enfin, une nouvelle connexion ssh pour vérifier que la clé est présente :[userb@machinedistante ~]$ ssh jo@adresseippubliquedelolcathost "cat ~/.ssh/authorized_keys"
Bon, j'espère avoir tout couvert. Si tu n'as pas touché la configuration du firewall et de SELinux, tu devrais pourvoir ensuite les réactiver sans problème.
