Chemin /root/.ssh introuvable [Résolu]

Signaler
-
Messages postés
29767
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 avril 2021
-
Bonjour,

Actuellement j'essaye d'aller dans le dossier
/root/.ssh/
afin de rentrer ma clé rsa, le problème que j'ai c'est que quand je fais
cd /root/.ssh/
il ne trouve pas le répertoire
.ssh/.


Est ce que je peux donc créer un répertoire
.ssh
ou je dois faire quelque chose en particulier ?

root@crash:/home/crash# cd /root/
root@crash:~# ls
root@crash:~# ls -al
total 48
drwx------ 7 root root 4096 avril 8 14:27 .
drwxr-xr-x 19 root root 4096 avril 8 09:27 ..
drwx------ 3 root root 4096 avril 8 09:38 .ansible
drwxr-xr-x 4 root root 4096 avril 8 09:55 .awx
-rw------- 1 root root 6539 avril 8 18:04 .bash_history
-rw-r--r-- 1 root root 570 janv. 31 2010 .bashrc
drwx------ 3 root root 4096 avril 8 09:49 .cache
drwxr-xr-x 3 root root 4096 avril 8 09:52 .local
drwxr-xr-x 4 root root 4096 avril 8 09:48 .npm
-rw-r--r-- 1 root root 148 août 17 2015 .profile
-rw-r--r-- 1 root root 271 avril 8 09:51 .wget-hsts


PS :
Debian 10 (Buster)
apt install openssh-server (effectué)

2 réponses

Messages postés
29767
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 avril 2021
7 077
Bonjour,

Pré-requis importants

Comme une clé ssh est propre à une personne, et que cette personne est supposé avoir un compte utilisateur, une paire de clé ssh devrait être présente dans le dossier personnel correspondant (e.g.
/home/toto/.ssh
) et non dans
/root/.ssh
. Dans cet exemple, quand l'utilisateur
toto
va utiliser la commande
ssh
, celle-ci va examiner
~/.ssh
(plus précisément, dans
~toto/.ssh
comme tu es identifié en tant que
toto
, qui correspond à
/home/toto/.ssh
).

De manière générale, c'est une mauvaise habitude de réaliser des tâches qui ne nécessite pas de droits administrateurs en root. Cela inclue établir une connexion ssh. Et bien évidemment, pour des raisons de sécurité, il est fortement déconseillé d'autoriser au niveau d'un serveur ssh les connexions vers le compte root (car root est le premier compte qu'un robot malveillant va tenter de pirater).

Une paire de clé ssh est composé de deux fichiers :
  • la clé publique (~ le cadenas), typiquement
    ~/.ssh/id_rsa.pub
    ;
  • la clé privée (~ la clé) associée à la clé publique, typiquement
    ~/.ssh/id_rsa
    ;


Comme leur nom l'indique, il n'est pas grave de disséminer sa clé publique (et c'est d'ailleurs ce qui se passe quand on installe sa clé ssh publique sur une machine donnée avec la commande
ssh-copy-id
). Par contre, la clé privée ne doit être conservée que sur des machines de confiances.

Résumé

Toutes les commandes qui suivent devrait être réalisées avec ton profil utilisateur et non en
root
.
  • Si tu veux créer une paire de clés ssh (privée + publique), utilise
    ssh-keygen
    avec ton compte utilisateur. Cela créera dans ton dossier personnel le dossier
    .ssh 
    et une paire de clé.


Exemple :
ssh-keygen -t rsa -b 2048
.
  • Si tu veux installer ta clé ssh publique sur
    hostname.example.com
    , en t'identifiant sur cette machine avec le profil
    user
    , tu peux utiliser
    ssh-copy-id
    comme suit :


Exemple :
ssh-copy-id user@hostname.example.com
.
  • Si tu as sauvegardé ta paire de clés ssh sur une clé USB, et que tu veux les recopier sur une machine de confiance, copie-les comme tu le ferais pour n'importe quel fichier dans le dossier
    ~/.ssh
    de ton dossier personnel, quitte à créer ce dossier.


Exemple :

mkdir ~/.ssh
cp /media/usb/id_rsa.pub /media/usb/id_rsa ~/.ssh


Bonne chance
Messages postés
347
Date d'inscription
mercredi 22 juin 2011
Statut
Membre
Dernière intervention
15 avril 2021
87
Soit tu le créer soit tu utilise ssh-copy-id