J'essaie de configurer ssh-copy-id sur Ubuntu. J'ai besoin d'un deuxième avis à ce sujet. Est-ce un chemin manquant .pub ou de mauvais paramètres pour ssh?
sammy@samuel-pc:~$ cat ~/.ssh/id_rsa.pub
cat: /home/sammy/.ssh/id_rsa.pub: Permission denied
sammy@samuel-pc:~$ ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: ERROR: failed to open ID file '/home/sammy/.pub': No such file
(to install the contents of '/home/sammy/.pub' anyway, look at the -f option)
sammy@samuel-pc:~$ cd .ssh
-bash: cd: .ssh: Permission denied
sammy@samuel-pc:~$ Sudo ls -l ~/.ssh/id_rsa.pub
[Sudo] password for sammy:
-rwxr-xr-x 1 sammy sammy 397 Jul 12 20:25 /home/sammy/.ssh/id_rsa.pub
J'ai également essayé de sshing à partir de mon ordinateur, mais l'authentification était brisée et j'ai essayé de la réparer mais cela a échoué
samuel@samuel-pc:~$ ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
sh: 1: cannot create .ssh/authorized_keys: Permission denied
Résultat de Sudo ls -lsa ~/.ssh
sammy@samuel-pc:~$ Sudo ls -lsa ~/.ssh
[Sudo] password for sammy:
Sorry, try again.
[Sudo] password for sammy:
total 28
4 drw-rw-rw- 2 sammy sammy 4096 Jul 13 21:25 .
4 drwxr-xr-x 9 sammy sammy 4096 Jul 19 23:55 ..
4 -rwxr-xr-x 1 sammy sammy 790 Jul 13 21:35 authorized_keys
4 -rwxr-xr-x 1 sammy sammy 1675 Jul 12 20:25 id_rsa
4 -rwxr-xr-x 1 sammy sammy 397 Jul 12 20:25 id_rsa.pub
4 -rwxr-xr-x 1 sammy sammy 1024 Jul 13 12:48 .id_rsa.pub.swp
4 -rwxr-xr-x 1 sammy sammy 222 Jul 12 20:21 known_hosts
et résultat pour ls -ld ~/.ssh
sammy@samuel-pc:~$ ls -ld ~/.ssh
drw-rw-rw- 2 sammy sammy 4096 Jul 13 21:25 /home/sammy/.ssh
Comment puis-je obtenir un bon accès pour SSH sur le serveur?
La commande suivante devrait résoudre le problème d'autorisation de votre dossier ~/.ssh
chmod 700 ~/.ssh
La commande suivante définira la permission correcte des fichiers dans le dossier ~/.ssh
chmod 400 ~/.ssh/*
~/.ssh
doivent avoir propriétaire en lecture seule permissionchmod 400
définir la permission propriétaire en lecture seuleAprès avoir corrigé l'autorisation du dossier/fichier ~/.ssh
, vous pouvez essayer d'exécuter à nouveau la commande ssh-copy-id
.
Pour utiliser ssh-copy-id
, vous devez générer les fichiers de clé ssh (id_rsa). Dans mon cas, j'ai accidentellement généré la clé avec Sudo
, ce qui a entraîné la création de fichiers id_rsa
et id_rsa.pub
générés sous /root/.ssh/
au lieu de /home/user/.ssh/
. Donc après avoir essayé d'accomplir ssh-copy-id someuser@somehost
j'ai:
/usr/bin/ssh-copy-id: ERROR: failed to open ID file '/home/user/.pub': No such file
(to install the contents of '/home/user/.pub' anyway, look at the -f option)
La tentation est d'utiliser l'option -f
, mais la vraie solution est simple: il suffit de générer une clé privée ssh sans Sudo:
ssh-keygen -t rsa
Généralement, le contenu du fichier ~/.ssh/
devrait fonctionner normalement:
user@ubuntu:~$ ll .ssh/
total 28
drwx------ 2 user group 4096 Dec 30 16:17 ./
drwxr-xr-x 15 user group 4096 Dec 30 16:17 ../
-rw------- 1 user group 1773 Dec 30 17:23 authorized_keys
-rw------- 1 user group 1679 Jan 1 2016 id_rsa
-rw-r--r-- 1 user group 399 Jan 1 2016 id_rsa.pub
-rw-r--r-- 1 user group 2436 Dec 30 16:17 known_hosts
user@ubuntu:~$
Votre problème est donc causé par quelques erreurs dans vos autorisations de fichiers.
First: Votre répertoire n'a pas d'indicateur exécutable, ce qui signifie que votre système ne peut pas y changer ni accéder aux fichiers qu'il contient. Cela devrait résoudre ce problème.
chmod +x ~/.ssh
Ensuite, vous devrez ajuster vos autorisations sur les fichiers des clés publiques et des clés privées, qui ne devraient être lisibles que par votre utilisateur et non par aucun autre utilisateur. Ce que vous accomplissez avec:
chmod 400 ~/.ssh/*
Cela devrait résoudre votre problème. Parfois, ssh est vraiment difficile et peut provoquer des erreurs si votre /home/user
est toujours accessible en écriture par le groupe/les autres. Donc, pour safty, retirez la permission d’écriture de la maison pour le groupe et d’autres aussi.
chmod go-w ~/
Cela devrait résoudre vos problèmes.