Aller au contenu

[Résolu] Problème ssh

Featured Replies

Posté(e)

Bonjour,

J'ai un petit soucis avec SSH. Je voudrai pouvoir me connecter à une machine distante sans avoir à saisir le mot de passe.

L'astuce, c'est que le user sur la machine cliente n'a pas de compte sur la machine disposant du serveur SSH. Les deux machines sont sous Linux.

Est-ce possible de réaliser cela ?

Amicalement,

Nico

Modifié par nicocolt

Posté(e)

:|

Théo tout de suite le petit pic :p

Nan en fait ce que tu peux faire c'est générer une clef ssh avec ssh-keygen et l'exporter sur l'autre machine.

Regarde sur la doc ubuntu, il y a un truc expliqué là dessus et ça fonctionne vachement bien :pleure:

Posté(e)
  • Auteur

Ben avec le keygen, il faut avoir un compte portant le même identifiant sur la machine serveur, non ?

Moi sur la machine A je suis le user toto, et je veux me connecter sur la machine B avec le user titi sans avoir à y saisir le mot de passe.

Amicalement,

Nico

Posté(e)

oui, l'user generant ses clefs sur le serveur sera celui loggue par toutes personne utilisant ce qui a ete genere

Posté(e)
  • Auteur
oui, l'user generant ses clefs sur le serveur sera celui loggue par toutes personne utilisant ce qui a ete genere

Aïe j'ai pas tout compris là... :|

Amicalement,

Nico

Posté(e)

ben, sur le pc faisant office de serveur, tu fais un ssh-keygen, et quiconque ayant cette clef pourra acceder au serveur ssh concerne sans rentrer de mot de basse

Posté(e)
  • Auteur

Ok donc en gros je fous le clef publique générée sur le compte du serveur sur le compte du client ? ou pas besoin ?

Amicalement,

Nico

Posté(e)

je n'ai fait ca que sur un reseau nfs et c'est comme ca que ca fonctionnait

je vais tenter ici pour verifier quand j'aurais un peu de temps, pour confirmer

Posté(e)

j'ai verifie, ca marche:

ssh-keygen -t dsa (par contre, il ne faut pas mettre de passphrase, valide tout en laissant les valeurs par defaut)

cat .ssh/id_dsa.pub | ssh toto@clienthost "cat - >>.ssh/authorized_keys"

pareil pour rsa

et ca tourne

et la, en principe, ca marche (j'ai fait d'aurtes trucs, mais je pense avoir garde le sctrict necessaire)

Posté(e)
  • Auteur

Donc de cette manière, le client toto est capable de se connecter sur titi qui est sur le serveur, sans avoir à saisir le mot de passe ?

Amicalement,

Nico

Posté(e)

dans ce cas, il n'a rien a saisir (a moisn que t'ais specifie une passphrase, auquel cas, il faudra rentrer cette passphrase)

edit: il faut restart le daemon ssh sur le serveur

Posté(e)

En fait quand tu es sur le serveur, tu te loggues avec un user. En l'occurence, c'est titi si j'ai bien compris.

De là, tu ssh-keygen une clef qui te permettras de te logger sur ce serveur en tant que titi, et ce à partir de n'importe quelle machine et n'importe quel user qui aura cette clef !

Grosso merdo, cela reviendrait à faire un ssh titi@serveur sans mot de passe. Et c'est bien ce dont tu as besoin :transpi:

Posté(e)
  • Auteur

En effet, cela semble correspondre à ce que je recherche, j'essaye cela demain et je mettrai le post à jour pour communiquer le résultat.

Amicalement,

Nico

Posté(e)

whaou, j'ai l'impression que tout le monde s'embrouille un peu avec les tito, toto et autre.

Le schéma est le suivant :

toto génère une paire de clefs sur la machine A

toto envoie sa clef publique à titi sur la machine B

titi colle la clef publique de toto dans .ssh/authorized_keys de la machine B

du coup, toto peux se loguer depuis A avec le compte de titi sur B sans avoir à taper de mot de passe. :transpi:

Posté(e)

en effet, je suis alle un peu vite en le faisant sur toutes les machines en meme temps, en reprennant de zero ca fonctionne

Posté(e)

RjùpsqjnviuzhqMGNKLÙH ;)

Humhum c'est exact...

La génération de clef se fait sur le client et on le copie dans authorized_keys (au passage lorinc tu as oublié le "t" ) du user avec lequel on veut se logguer et qui a le droit de se logguer en ssh bien sur...

Posté(e)
  • Auteur
whaou, j'ai l'impression que tout le monde s'embrouille un peu avec les tito, toto et autre.

Le schéma est le suivant :

toto génère une paire de clefs sur la machine A

toto envoie sa clef publique à titi sur la machine B

titi colle la clef publique de toto dans .ssh/auhorized_keys de la machine B

du coup, toto peux se loguer depuis A avec le compte de titi sur B sans avoir à taper de mot de passe. :p

Ah mince, je pensais que ça ne fonctionnait pas de cette manière, et qu'il fallait absolument que toto ait un compte, nommé également toto sur la machine B. Je crois que je suis perdu ;)

Amicalement,

Nico

Posté(e)
Je crois que je suis perdu ;)

Pourquoi ? C'est pareil que ce que tu pensais, sauf que du moment où tu as la clé privée, correspondant à la clé publique posée dans le compte d'un utilisateur A, peu importe que, sur ta machine client, tu sois B, C ou D... ou même A...

Posté(e)
  • Auteur

De quelle manière je copie la clef publique sur la machine distante ? Via scp, puis je fais cat id_dsa.pub >> ~/.ssh/authorized_keys ou keys2 ?

Amicalement,

Nico

Posté(e)
  • Auteur

Voilà c'est bon ça fonctionne, j'ai copié la clef par la commande ssh-copy-id -i ~/.ssh/id_dsa.pub titi@B

Merci à vous tous pour votre aide !

amicalement,

Nico

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.