web-dev-qa-db-fra.com

Le répertoire .ssh n'est pas créé

Pour générer le répertoire .ssh, J'utilise cette commande:

ssh-keygen

extrait de ce tutoriel: http://ebiquity.umbc.edu/Tutorials/Hadoop/05%20-%20Setup%20SSHD.html

Mais le répertoire .ssh N'est pas créé. Ainsi, lorsque j'utilise cd ~/.ssh, J'obtiens cette erreur:

"no such file or directory"

Est-ce qu'il manque une étape? Le répertoire .ssh Doit-il être créé lorsque j'utilise la commande ssh-keygen?

42
blue-sky

Je suppose que vous avez assez d'autorisations pour créer ce répertoire.

Pour résoudre votre problème, vous pouvez soit SSH à un autre endroit:

ssh [email protected]

et accepter nouvelle clé - cela créera le répertoire ~/.ssh et known_hosts dessous, ou créez-le simplement manuellement en utilisant

mkdir ~/.ssh
chmod 700 ~/.ssh

Notez que chmod 700 est une étape importante!

Après cela, ssh-keygen devrait fonctionner sans réclamation.

61
mvp

Est-ce qu'il manque une étape?

Oui. Vous devez créer le répertoire:

mkdir ${HOME}/.ssh

De plus, SSH nécessite que vous définissiez les autorisations de sorte que seul vous (le propriétaire) puissiez accéder à quoi que ce soit dans ~/.ssh:

% chmod 700 ~/.ssh

Le répertoire .ssh Doit-il être généré lorsque j'utilise la commande ssh-keygen?

Non. Cette commande génère une paire de clés SSH mais échouera si elle ne parvient pas à écrire dans le répertoire requis:

% ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxx/.ssh/id_rsa): /Users/tmp/does_not_exist
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
open /Users/tmp/does_not_exist failed: No such file or directory.
Saving the key failed: /Users/tmp/does_not_exist.

Une fois que vous avez créé vos clés, vous devez également limiter le nombre de personnes pouvant lire ces fichiers de clés:

% chmod -R go-wrx ~/.ssh/*
4
Johnsyweb

Comme une légère amélioration par rapport aux autres réponses, vous pouvez effectuer les opérations mkdir et chmod en une seule opération à l'aide de mkdir's -m _ commutateur.

$ mkdir -m 700 ${HOME}/.ssh

Usage

À partir d'un système Linux

$ mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
...
...
1
slm