web-dev-qa-db-fra.com

mettre en place ssh-copy-id sur Ubuntu

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?

3
Samuel Muiruri

La commande suivante devrait résoudre le problème d'autorisation de votre dossier ~/.ssh

chmod 700 ~/.ssh
  • Cela permettra la lecture/écriture/exécution dans le dossier - seulement pour le propriétaire (vous-même)
  • moyen d'exécution - change le répertoire

La commande suivante définira la permission correcte des fichiers dans le dossier ~/.ssh

chmod 400 ~/.ssh/*
  • Les fichiers du dossier ~/.ssh doivent avoir propriétaire en lecture seule permission
  • chmod 400 définir la permission propriétaire en lecture seule

Après avoir corrigé l'autorisation du dossier/fichier ~/.ssh, vous pouvez essayer d'exécuter à nouveau la commande ssh-copy-id.

3
Yaron

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:~$
0
baltasvejas

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.

0
Ziazis