Créez une clé ssh:
Commande:
ssh-keygen -t rsa –P ""
Déplacer la clé vers la clé autorisée:
Commande:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Créez une clé ssh:
Commande:
ssh-keygen -t rsa –P ""
Déplacer la clé vers la clé autorisée:
Commande:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Réponses:
Vous devez créer le .ssh
répertoire et le authorized_keys
fichier la première fois.
Créez le .ssh
répertoire:
mkdir ~/.ssh
Définissez les bonnes autorisations:
chmod 700 ~/.ssh
Créez le authorized_keys
fichier:
touch ~/.ssh/authorized_keys
Définissez les bonnes autorisations:
chmod 600 ~/.ssh/authorized_keys
Les autorisations sont importantes! Cela ne fonctionnera pas sans les bonnes autorisations!
Vous pouvez maintenant ajouter la clé publique au authorized_keys
fichier:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Vous devez ajouter la clé publique de votre ordinateur au authorized_keys
fichier de l' ordinateur auquel vous souhaitez accéder en utilisant les clés SSH !
Comme Terdon l'a mentionné, vous pouvez également utiliser cette commande:
ssh-copy-id user@host
Cela mettra votre id_rsa.pub
(dans votre ~/.ssh
répertoire) dans le authorized_keys
fichier de l'ordinateur distant , créant le .ssh
répertoire et le authorized_keys
fichier avec les bonnes autorisations si nécessaire.
cat
, c'est pour ça ssh-copy-id
.
Dans le cas où vous avez reçu la clé publique dans un e-mail à installer sur un serveur distant:
1) SSH dans le serveur. J'ai utilisé PuTTY sur Windows.
2) Configurez la clé:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
Prenez soin de copier la clé exactement et de la coller dans une nouvelle ligne dans la fenêtre de l'éditeur. Vérifiez qu'il occupe une seule ligne et enregistrez.
chmod 600 ~/.ssh/authorized_keys
Comme je n'ai pas assez de réputation, j'ajoute ceci ici. En plus de la réponse de Louis Matthijssen si vous ne pouvez toujours pas vous connecter via ssh en tant qu'utilisateur que vous avez créé, comme
ssh username@host
cela peut être dû à l'absence d' autorisation du propriétaire que vous devez ajouter à votre dossier /home/username/.ssh. J'ai eu le même problème et vous pouvez donner cette autorisation en tant que:
chown -R username:username /home/username/.ssh
Cela peut probablement se produire simplement parce que vous créez le répertoire et définissez les autorisations en tant que root , mais pas en tant que nom d' utilisateur avec lequel vous souhaitez accéder au serveur.
J'espère que cela aide quelqu'un.
Cela peut également échouer si, lors de la création de la clé avec ssh-keygen
, vous lui donnez un nom de fichier. J'ai entré un nom my-ssh-file-name
et il a écrit la clé au /Users/MyUserName
lieu du .ssh
dossier. Si vous laissez le nom de fichier vide, il sera écrit .ssh
comme prévu.
~/.ssh/authorized_keys
sont des clés d'autres ordinateurs auxquels vous vous êtes connecté / en qui vous avez confiance, pas votre propre clé.