Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/12/2014, à 17:19

BenjiBoy

SSH et nom d'utilisateur

Bonjour,

dans mon travail je suis amené à me connecter très souvent sur des machines (très diverses), j'ai donc opté pour les clés DSA/RSA.
Mais malgré le fait que le ssh-copy-id semble aboutir favorablement (la clé est bien sur la machine distante) mon mot de passe reste demandé à chaque connexion.

Il faut savoir que sur la machine un login par défault détient les droits nécessaires à mon travail et c'est "admin", mais mon compte à moi lui, n'est pas noté "admin" mais du type "nomprenom", est-ce pour ça que la DSA n'est pas reconnue ?

Je ne peux changer ni l'un ni l'autre des login, il me faut une solution tierce.

Avez-vous des idées ?

a+



Suis en ubuntu 14.04, à toutes fins utiles.

Hors ligne

#2 Le 23/12/2014, à 17:30

koshieIsYourDaddy

Re : SSH et nom d'utilisateur

Salut,

Ton mot de passe utilisateur distant OU le mot de passe de ta clé SSH? Dans le deuxième cas:

man ssh-add

Si c'est le premier cas, alors, tu devrais modifier /etc/ssh/sshd_config sur les machines distantes et interdire les connexions par mot de passe.

Joyeux noël,
koshicalement

Dernière modification par koshieIsYourDaddy (Le 23/12/2014, à 17:31)

Hors ligne

#3 Le 23/12/2014, à 17:38

BenjiBoy

Re : SSH et nom d'utilisateur

Salut koshieIsYourDaddy,

le mot de passe qui reste demandé est celui de l'utilisateur distant.
Je vais essayer de structurer un peu mieux, voilà ce que j'ai fait, dans l'ordre :

création de la clé :
ssh-keygen -t dsa

pour la placer par défaut je tape juste "enter", puis pas de passphrase (c'est un test)

Ensuite envoi de la clé sur la machine distante :
ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine

qui me demande alors une dernière fois le mot de passe pour l'accès à la session "user" sur "machine".

Suaf que lorsque je fais
ssh -v user@machine -p XXXX
ben ça me redemande le mot de passe de la session.

Sachant que le user de la machine distante est "admin" et moi c'et u ntruc type "nomprenom".

Merci pour ton aide

Hors ligne

#4 Le 23/12/2014, à 18:12

koshieIsYourDaddy

Re : SSH et nom d'utilisateur

As-tu interdit l'usage des mots de passe dans /etc/ssh/sshd_config sur la machine distante? Après cette opération tu dois redémarrer le service ssh sur la machine distante.

Koshicalement

Dernière modification par koshieIsYourDaddy (Le 23/12/2014, à 18:12)

Hors ligne

#5 Le 27/12/2014, à 20:03

tiramiseb

Re : SSH et nom d'utilisateur

Salut,

Il n'est pas nécessaire d'interdire les connexions par mot de passe pour autoriser les connexions par clés, heureusement !

Moi il y a quand même un truc qui me chiffonne dans l'explication du problème ; il y a une différence fondamentale entre ces deux commandes :

ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine
ssh -v user@machine -p XXXX

Pourquoi la deuxième commande se connecte sur un port différents ? C'est deux serveurs SSH différents, un en port 22 et un en port XXXX ? Une redirection de port, quelque chose comme ça ?

Hors ligne

#6 Le 06/01/2015, à 15:23

BenjiBoy

Re : SSH et nom d'utilisateur

Bonjour à tous les deux,
mon problème reste entier, il ne s'est hélas pas résolu pendant les vacances !
Donc je vous réponds dans l'ordre :

koshieIsYourDaddy :
Non, pas interdit les mots de passe, et j'aimerais éviter il s'agit d'un appareil sur réseau public avec des données scientifiques à disposition (pas très sensible, mais tout de même).

tiramiseb :
En fait le périphérique - qui est un modem routeur 3G - a besoin d'un redirection de port sur son port interne, car en cas contraire il n'ouvre pas ce port (il le filtre quoi). Du coup je fais une redirection dans la table du modem de 1022 externe vers 22 interne.
Crois-tu que du coup la commande ssh-copy-id ne passe pas (oui ça paraît évident vu ce que je viens de dire, en fait ...)?

Merci, à plus tard

Hors ligne

#7 Le 06/01/2015, à 15:34

tiramiseb

Re : SSH et nom d'utilisateur

Tu veux dire que, dans des tes deux lignes "user@machine" est différent ?

Hors ligne

#8 Le 06/01/2015, à 16:48

BenjiBoy

Re : SSH et nom d'utilisateur

Pas exactement, le "user", c'est toujours moi - ou en tout cas ça sera toujours le même - et le "machine" c'est la liste de modem que j'ai d'installé dehors.
Pour le test il s'agira d'une seule adresse, mais à terme ca sera un argument que je rentrerai dans un crontab, par exemple.

Mais chaque chose en son temps, d'abord, le key ssh ^^

Hors ligne

#9 Le 06/01/2015, à 16:53

tiramiseb

Re : SSH et nom d'utilisateur

Je crois qu'on ne s'est pas compris :

tu fais un "ssh-copy-id" vers une certaine adresse en port 22
ensuite tu fais un "ssh" vers la même adresse en port XXXX (1022 ?)

Donc ce sont deux instances différentes ? Ou alors ton port 1022 redirige vers le 22 ?
Mais si le 22 est accessible, alors pourquoi se connecter au 1022 ?

Soit ton ssh-copy-id a fonctionné, auquel cas il y a une incohérence.
Soit ton ssh-copy-id n'a pas fonctionné, auquel cas il faut l'utiliser avec le port 1022.
ssh-copy-id t'a-t-il demandé le mot de passe ?


Enfin, petite remarque "innocente" en passant : es-tu sûr que ton modem routeur accepte les authentifications par clé ? big_smile

Hors ligne

#10 Le 06/01/2015, à 17:03

BenjiBoy

Re : SSH et nom d'utilisateur

Je vais le faire en direct :
Donc pour rappel je souhaite pouvoir me logger en ssh sans avoir à taper de mot de passe sur une machine distante (à l'ip variable mais qui est en dyndns).

Je commence par générer ma clé :

ssh-keygen -t dsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/nomprenom/.ssh/id_dsa.
Your public key has been saved in /home/nomprenom/.ssh/id_dsa.pub.
The key fingerprint is:
:D

Ensuite, je pose la clé dsa dans la machine distante :

nomprenom@ist-158-170:~$ ssh-copy-id admin@test.dyndns.info -p 2022
/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: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys
admin@test.dyndns.info's password: 

La je ne sais pas vraiment si ça a abouti ...
En tout cas quand je me connecte, le modem me demande toujours mon mot de passe :

nomprenom@ist-111-222:~$ ssh admin@test.dyndns.info -p 2022
admin@test.dyndns.info's password: 
             ____
            /\  __\_
_______    /  \/ \___\   _______________________________________________________
           \     /___/        _  __    __  ___
        /\_/     \    \      / |/ /__ / /_/ _ )___ __ __
       /          \____\    /    / -_) __/ _  / _ \\ \ /
       \       _  /    /   /_/|_/\__/\__/____/\___/_\_\
        \     /_\/____/
        /     \___\      Wireless Router   (c) 2004-2012, NetModule AG
_____   \_/\  /   /   __________________________________________________________
            \/___/



BusyBox v1.11.2 (2014-07-29 09:55:31 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ $

Voilà ou j'en suis.

Hors ligne

#11 Le 06/01/2015, à 17:06

tiramiseb

Re : SSH et nom d'utilisateur

Que donne la commande suivante ?

ssh -v admin@test.dyndns.info -p 2022

Hors ligne

#12 Le 06/01/2015, à 17:17

BenjiBoy

Re : SSH et nom d'utilisateur

Ceci :


nomprenom@ist-111-222:~$ ssh -v admin@test.dyndns.info -p 2022
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to test.dyndns.info [90.117.58.53] port 2022.
debug1: Connection established.
debug1: identity file /home/nomprenom/.ssh/id_rsa type 1
debug1: identity file /home/nomprenom/.ssh/id_rsa-cert type -1
debug1: identity file /home/nomprenom/.ssh/id_dsa type 2
debug1: identity file /home/nomprenom/.ssh/id_dsa-cert type -1
debug1: identity file /home/nomprenom/.ssh/id_ecdsa type -1
debug1: identity file /home/nomprenom/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/nomprenom/.ssh/id_ed25519 type -1
debug1: identity file /home/nomprenom/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version dropbear_0.48
debug1: no match: dropbear_0.48
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: DSA 4c:5c:05:e5:33:0f:c0:f3:77:77:41:04:b0:b5:f1:fb
debug1: Host '[test.dyndns.info]:2022' is known and matches the DSA host key.
debug1: Found key in /home/nomprenom/.ssh/known_hosts:35
debug1: ssh_dss_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /home/nomprenom/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /home/nomprenom/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/nomprenom/.ssh/id_ecdsa
debug1: Trying private key: /home/nomprenom/.ssh/id_ed25519
debug1: Next authentication method: password
admin@test.dyndns.info's password: 
debug1: Authentication succeeded (password).
Authenticated to test.dyndns.info ([90.117.58.53]:2022).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_PAPER = fr_FR.UTF-8
debug1: Sending env LC_ADDRESS = fr_FR.UTF-8
debug1: Sending env LC_MONETARY = fr_FR.UTF-8
debug1: Sending env LC_NUMERIC = fr_FR.UTF-8
debug1: Sending env LC_TELEPHONE = fr_FR.UTF-8
debug1: Sending env LC_IDENTIFICATION = fr_FR.UTF-8
debug1: Sending env LANG = fr_FR.UTF-8
debug1: Sending env LC_MEASUREMENT = fr_FR.UTF-8
debug1: Sending env LC_TIME = fr_FR.UTF-8
debug1: Sending env LC_NAME = fr_FR.UTF-8
             ____
            /\  __\_
_______    /  \/ \___\   _______________________________________________________
           \     /___/        _  __    __  ___
        /\_/     \    \      / |/ /__ / /_/ _ )___ __ __
       /          \____\    /    / -_) __/ _  / _ \\ \ /
       \       _  /    /   /_/|_/\__/\__/____/\___/_\_\
        \     /_\/____/
        /     \___\      Wireless Router   (c) 2004-2012, NetModule AG
_____   \_/\  /   /   __________________________________________________________
            \/___/



BusyBox v1.11.2 (2014-07-29 09:55:31 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ $ 

Dernière modification par BenjiBoy (Le 06/01/2015, à 17:18)

Hors ligne

#13 Le 06/01/2015, à 17:51

tiramiseb

Re : SSH et nom d'utilisateur

Ouais, donc le serveur dit bien qu'il accepte a priori les clés mais il n'accepte pas quand tu offres ta clé DSA.
D'un autre côté, peut-être qu'il dit les accepter mais qu'en fait il n'en est rien...

Tu peux regarder sur ton routeur que le fichier ".ssh/authorized_keys" a bien des droits limités (600) ?

Hors ligne

#14 Le 15/01/2015, à 17:14

BenjiBoy

Re : SSH et nom d'utilisateur

Bonjour,

je continue mon bidouillage.
J'ai bien (re)mis les droits 600 sur authorized_keys, ma rsa est dedans j'ai vérifié, je ne pige vraiment pas ce qui cloche.
Il faut juste que ma clé publique soit dans le authorized_keys, ont est d'accord ?
La clé est au format "ssh-rsa lacléàrallonge nomprenom@adresse"

isn'it ?
Ca commence à me faire mal à la tête cette histoire de dingue.

Dernière modification par BenjiBoy (Le 15/01/2015, à 17:15)

Hors ligne

#15 Le 15/01/2015, à 17:21

BenjiBoy

Re : SSH et nom d'utilisateur

je précise que sur le matos un peu spécial : le chemin des clé ssh est

/etc/dropbear/authorized_keys

(précisé dans le manuel),

j'ai quand même créé un répertoire ~/.ssh/ pour y mettre également le authorized_keys, sans plus de succès.

Hors ligne

#16 Le 16/01/2015, à 11:46

BenjiBoy

Re : SSH et nom d'utilisateur

Alors je ne sais pas si c'est logique, mais là ou la rsa_key est refusée, la dsa_key est acceptée.

Donc je me connecte actuellement sur mon périphérique, sans le mot de passe et de manière sécurisé. Le problème peut être considéré comme résolu !
Même si j'aimerais qu'on m'explique la différence fondamentale entre ces deux clés ?

Merci pour votre aide,
a+

Hors ligne