Chemin /root/.ssh introuvable

Résolu/Fermé
Azghalar - Modifié le 22 avril 2021 à 17:05
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 22 avril 2021 à 17:26
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

mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
22 avril 2021 à 17:26
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
1
Itdaboyz Messages postés 354 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 4 novembre 2023 97
15 avril 2021 à 17:19
Soit tu le créer soit tu utilise ssh-copy-id
0