Ssh avec clé publique privée

Bonjour a tous
J’ai un serveur sous jeesie qui fonctionne nickel
jusqu’a présent pour m’y connecter j’utilisais le mots de passe
A présent j’aimerai utiliser les clés publiques et privées donc j’ai crée les clés sur mon portable avec lequel je me connecte principalement a mon serveur mais malgré plusieurs tutos lu je ne vois pas bien ou installer la clé publique sur le serveur car la commande

ssh-copy-id -i ~/.ssh/id_rsa.pub $utilisateur_distant@$hôte_distant me retourne toujour une erreur aussi si je pouvais déjà savoir quelle endroit exact cela représente sur le pc serveur ce serait super ???
Merci

bonjour.

Mais quelle est cette erreur?

Déjà merci de me répondre
voici l’erreur

ERROR: failed to open ID file '/home/philox47/.ssh/id_rsa.pub': No such file

Si tu as remplacé [mono]$utilisateur_distant[/mono] par le nom du compte utilisateur existant sur le [mono]serveur ssh[/mono] auquel tu veux te connecter (sans le [mono]$[/mono] bien sûr)
et si tu as remplacé [mono]hôte_distant[/mono] par le nom d’hôte distant s’il existe un serveur DNS qui le connait ou alors par l’adresse IP du serveur distant,
il n’y a pas de raisons que ça ne fonctionne pas.

N’ayant ni l’un, ni l’autre, ni les messages d’erreurs, ni les prompts de départ et de retour de commandes, on fait ce qu’on peu.

[quote=“philox47”]Déjà merci de me répondre
voici l’erreur

[code]ERROR: failed to open ID file ‘/home/philox47/.ssh/id_rsa.pub’: No such file

[/code][/quote]

donc le fichier id_rsa.pub n’a pas été généré;comment avez vous créé votre paire de clés?clé dsa ou rsa?

Un peu de lecture:

http://formation-debian.via.ecp.fr/ssh.html#idp8385744

Et tenez compte de ce que MicP vient de dire.

[quote]ERROR: failed to open ID file ‘/home/philox47/.ssh/id_rsa.pub’: No such file[/quote]Le message d’erreur est pourtant clair, Pourquoi nous l’avoir caché ?
Tu nous teste ? :slightly_smiling:

=======
Soit tu as déplacé le fichier, et tu veux le retrouver :

=======
Soit tu as supprimé le fichier ou bien il n’existait pas et tu veux en créer un autre :
Depuis ton compte utilisateur :

ssh-keygen -t dsaaccepte la proposition par défaut quand il te demandera où placer le fichier (ce sera sans doute le répertoire [mono]/home/philox47/.ssh/[/mono])
Si tu veux pouvoir te connecter sans mot de passe, n’entre pas de mot de passe : tape sur la touche entrée directement.

sur mon portable j’ai crée les clés avec cette commande

dans .ssh j’ai bien les deux clés publique et privé mais c’est l’envoi vers le serveur de l’adresse publique qui va pas
j’ai fait comme ceci dans un terminal de mon serveur

Mais la je pense que je fais erreur car c’est du terminal de pc client que je dois le faire non ??
l’erreur

/usr/bin/ssh-copy-id: ERROR: failed to open ID file '/home/philox47/.ssh/id_rsa.pub': No such file

Micp lol non non sorry erreur de ma part a cause que j’ai un peu trop ramé déjà

Ok pour ssh-keygen -t rsa, j’avais mis dsa et tu as bien fait de corriger.
"…erreur de ma part …" un partout => égalité :slightly_smiling:

=======
Tu as ajouté un $ en trop devant le nom d’utilisateur et devant l’adresse IP du serveur,
utilise plutôt :

ssh-copy-id -i ~/.ssh/id_rsa.pub philox47@192.168.0.247 -p 1334

=======
Vérifie :

que le paquetage openssh-server est installé sur la machine dont l’adresse IP est 192.168.0.247

que le fichier /etc/ssh/sshd_config du serveur ssh que tu essaye de contacter et qui a pour adresse IP 192.168.0.247 contient la ligne : Port 1334 (c’est dans les premières lignes du fichier)

que les machines sont sur le même réseau LAN ou alors il faudra nous expliquer comment ils sont reliés

qu’il existe bien un compte philox47 sur la machine dont l’adresse IP est 192.168.0.247

Est-que c’est depuis l’extérieur (depuis le web) que tu essaye de contacter ton serveur ssh ?

Ça devrait fonctionner si les deux machines sont sur le même LAN (même réseau local, par exemple, elles sont toutes les deux connectées au même serveur DHCP de ta box)

en fait je pense que tout devait être ok comme serveur ssh puisque je l’utilise depuis 3 ans déjà avec la connexion via mots de passe donc open_ssh etc est installé
voici mon fichier sshd_config

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 1334
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 1024

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile	%h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

Mais est ce que c’est possible que le bléme provient du fait que mon serveur est bien sur relié en lan sur un switch tandis que le portable est sur le wifi
Le tout est bien sur sur le même réseaux interne
mais y a t’il pas moyen de mettre la clé publique autrement a la bonne place car je sais me connecter via nemo en sftp a mon serveur donc si je connaissais l’endroit ou il faut la mettre ca irait aussi ???
Je vais stopper pour ce soir mais demain je continue via un autre pc relié en lan pour voir si cela ne va pas mieux
Encore merci a vous pour votre aide

que contient le fichier~/.ssh ?

[quote]…est ce que c’est possible que le bléme provient du fait que mon serveur est bien sur relié en lan sur un switch tandis que le portable est sur le wifi …[/quote] S’ils (“serveur ssh” et “client ssh”) sont sur le même réseau, il ne devrait pas y avoir de problème, mais ce n’est pas sûr :

À moins qu’il ne s’agisse d’un switch qui fasse du routage (switch de niveau 3) il ne devrait pas y avoir de problème côté switch,
mais pour le wifi, je doute que ce soit le même serveur dhcp.

Il faudrait que tu vérifie que ton [mono]client ssh[/mono] et ton [mono]serveur ssh[/mono] utilisent le même masque de sous-réseau, la même adresse de broadcast et la même passerelle

Comme il ne s’agit que d’adresses privées, tu ne risque rien de les donner ici,
ce qu’il ne faut pas donner, ce sont les adresse publiques comme celle qui permet de contacter ta box depuis le réseau internet (le web)

dans votre sshd_config vous avez mis:

[quote]#PasswordAuthentication yes
[/quote]

il faut autoriser le mot de passe du user sur la machine serveur pour faire le transfert de la clé publique.

https://doc.ubuntu-fr.org/ssh#authentification

avram déjà merci de répondre

Mais justement ou dois je trouver ce fichier ~/.ssh ??? sur le serveur

[quote=“philox47”]avram déjà merci de répondre

Mais justement ou dois je trouver ce fichier ~/.ssh ??? sur le serveur[/quote]

le fichier ~/.ssh est sur votre machine cliente,pas sur le serveur,sur la machine serveur les clés sont dans /etc/ssh

Je voue ai donné un autre lien en plus concernant la configuration de ssh

https://doc.ubuntu-fr.org/ssh#authentification

avram
Donc si je prend la clé publique qui a sur mon pc client ,que j’autorise pour quelques minute la connexion root sur mon serveur et que je donload via filezilla la clé publique dans le dossier etc/ssh
cela devrait aller aussi non ???

autorisez la connexion avec mot de passe et transférez votre clé publique avec la commande

lisez les liens que je vous ai donnés.

Quand j’utilisais des clés c’est ce que j’avais fait à l’époque mais depuis un bon bout de temps je suis passé à ssh avec identification par mot de passe(mot de passe blindé bien entendu et jamais de problème)

Mais que contient votre fichier ~/.ssh?

Yesssssssssssssssssssssssssssssss

Voila ce matin je me suis levé frais et dispo et comme je l’avais dit a MicP j’ai essayé de le faire via mon pc fixe relié sur le même switch
et la en moins de 5 min tout était fini avec ta commande MicP

Donc bon a savoir pour d’autre lol
Donc déjà un grand merci a toi MicP et toi Avram

Juste encore une petite question a ce sujet
si je place la clé privée dans un autre pc est ce que je peux me connecter via celui la ???

Voila je viens de tester de mettre la clé privée sur mon portable et tout roule
donc je mets en “résolu” et remercie encore tout le monde

[quote]…en moins de 5 min tout était fini…[/quote] Bravo :041

=======

EDIT : Désolé, d’habitude je teste avant, mais c’est pas la grande forme et je n’ai plus de box en ce moment
Je suis sur un hot spot et mes machines ne peuvent communiquer entre elles.

J’aurais voulu barrer le texte qui suit , mais je ne sais pas comment on fait.

=======
le texte qui suit est barré.

Non : Car une clef privée concerne [mono]un utilisateur d’un machine client ssh[/mono], et heureusement, sinon ce serait trop facile de se faire passer pour quelqu’un d’autre auprès du [mono]serveur ssh[/mono].

Donc, il faudra refaire la même manipulation (génération de clef si pas encore généré) pour [mono]chaque utilisateur de chaque machine client ssh[/mono]

puis la transmettre par [mono]ssh-copy-id[/mono] au [mono]serveur ssh[/mono] pour chaque compte sur le [mono]serveur ssh[/mono] auquel tu veux pouvoir te connecter.

C’est cette clef ssh qui va permettre au [mono]serveur ssh[/mono] de vérifier qu’il a bien affaire au même [mono]utilisateur de la même machine client ssh[/mono]

Bien sûr que si c’est possible. Si on copie une clé privée sur une autre machine, la clé publique correspondante de l’autre côté de la connexion la reconnaîtra. Du moins, si on utilise le même identifiant (user name).

:wink: