logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 28-10-2020 13:25:13

macisa
Membre
Inscription : 25-01-2020

[Résolu] ssh server [ ssh + sftp ] transfert de clé

Bonjour à tous les foforomeurs.

J'ai un soucis sur lequel je carbure depuis quelques jours pour le transfert de clé client id_rsa.pub vers le serveur.

Il y a sur le serveur :
- Un utilisateur "basic" sudoers dans le groupe "basic", pour gestion par ssl. C'est l'utilisateur de base /home/basic
- Un groupe "sftponly" avec deux utilisateurs "user1" et "user2", c'est deux utilisateurs sont un dossier /home/sftponly/

ls -l /home/
total 8
drwxr-xr-x 16 basic basic 4096 Oct 28 12:47 basic
drwxr-xr-x  4 root root 4096 Oct 28 11:23 sftponly

ls -l /home/sftponly
total 8
drwxr-xr-x 2 root  root     4096 Oct 28 11:23 user1
drwxr-xr-x 2 user2 sftponly 4096 Oct 28 11:23 user2

id user1
uid=1001(user1) gid=122(sftponly) groups=122(sftponly)
 



Pour ce qui est du "root:root" du dossier "sftponly" et de l'utilisateur "user1", je les ai; pensant bien faire, passer en commande chown root:root

Le fichier sshd_config est configuré ainsi:

Banner /etc/issue.net
ChallengeResponseAuthentication no
HostbasedAuthentication no
GatewayPorts no
IgnoreRhosts yes
LogLevel INFO
StrictModes yes
SyslogFacility AUTH

PermitRootLogin no
#PasswordAuthentication yes
#AuthenticationMethods password

#AllowUsers basic
#AllowGroups basic

PermitEmptyPasswords no
LoginGraceTime 60
PrintLastLog yes

ClientAliveCountMax 2
ClientAliveInterval 30

X11Forwarding no

# Autorisation SFTP
Subsystem       sftp internal-sftp

Match Group sftponly
        PubkeyAuthentication yes
        PasswordAuthentication yes
        AuthenticationMethods password
        ChrootDirectory /home/sftponly/%u
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp




Alors. Jusqu'ici; l'utilisateur "basic" se connecte bien en SSL avec passphrase.

Pour le user1, j'essaye d'envoyer la clé

ssh-copy-id -i ~/.ssh/id_rsa.pub user1@xxx.xxx.x.xxx

avec pour message de retour

user1@xxx.xxx.x.xxx's password:
This service allows sftp connections only.



Du coup, bien que dans l'idéal, j'aurai souhaité limiter le SSL à AllowUsers AllowGroups avec identification par passphrase et donner l'accès uniquement SFTP au groupe sftponly par password; je galère! Parceque je ne trouve aucun résultat pour débloquer l'envoi de la clé ?

Merci de vos aides

*modification du titre -ssh en lien de ssl

Dernière modification par macisa (03-11-2020 17:37:02)

Hors ligne

#2 28-10-2020 14:18:43

nlancien
Membre
Distrib. : Debian Stable
Noyau : Linux 4.19.0-12-amd64
(G)UI : Openbox
Inscription : 17-07-2019

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

ssh-copy-id est un script shell. Tu peux donc regarder ce qu'il y a comme commandes dedans.


Match Group sftponly
        Blah blah
        ForceCommand internal-sftp
 



Les commandes de tout membre du groupe sftponly sont, pour moi, restreintes. Ce que semble confirmer ton message d'erreur.

Donc tu sors ton utilisateur du groupe sftponly, tu envoies ta clé, et tu l'y remets.
ou
Tu envoie ta clef, et tu te sers de root pour la transférer sur l'utilisateur en question, en faisant attention au droits du répertoire .ssh, et du fichier authorized_keys

Dernière modification par nlancien (28-10-2020 14:19:20)

Hors ligne

#3 28-10-2020 18:53:21

macisa
Membre
Inscription : 25-01-2020

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Je ne vais donc pas chercher l'inexistant.
Je vais opter pour le placement de l'utilisateur après réception de la clé.

ssh-copy-id est un script shell. Tu peux donc regarder ce qu'il y a comme commandes dedans.


:-) :-) je débute.. chaque chose en son temps

@nlancian merci pour ce retour

Hors ligne

#4 28-10-2020 21:00:08

zaphir
Membre
Inscription : 10-09-2010

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Bonjour,

Je ne suis pas un pro mais je donne mon impression sur ce que je vois basé sur mes très légères connaissances.

"This service allows sftp connections"
A mon sens pour y accéder ce serait plutôt "sftp user@xx.xx.xx.xx" au lieu de "ssh user@xx.xx.xx.xx"

Ensuite je vois que l'option "PermitRootLogin no" est activée, mais d'un autre côté je vois ceci :

ls -l /home/sftponly
drwxr-xr-x 2 root  root     4096 Oct 28 11:23 user1
drwxr-xr-x 2 user2 sftponly 4096 Oct 28 11:23 user2



Les permissions du dossier user1 ne sont pas bonnes puisque root seulement peut y accéder.

Pour finir un petit tuyau de noob qu'il m'arrive de faire de temps en temps.
À la place de la commande "ssh-copy-id" tu peux AUSSI copier tes clés manuellement, c'est pas beau mais ça fonctionne pareil même si ça fait clairement amateur.
Chez toi:

$ cat ~/.ssh/ta_cle.pub


copie le contenue à la souris
Sur ton serveur:

$ nano ~/.ssh/authorized_keys


là tu colles le contenu et tu ajustes les droits du fichier (600 ou 640 de mémoire à vérifier).

Voilà c'est à peu près tout, j'ai peut être raté des choses.
Allez courage smile

Dernière modification par zaphir (28-10-2020 21:01:08)

Hors ligne

#5 29-10-2020 13:35:19

nlancien
Membre
Distrib. : Debian Stable
Noyau : Linux 4.19.0-12-amd64
(G)UI : Openbox
Inscription : 17-07-2019

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Un autre amateur utilise cette stance :


cat  ~/.ssh/ma-cle.pub | ssh -p port user@host "cat - >>/home/moua/.ssh/authorized_keys"
 


C'est un poil plus long a taper, cela ne contourne pas le soucis du premier post, mais ca marche.
Pour le premier post, on peut aussi lever le serveur sftp temporairement.

Quand au propriétaire de /home/sftponly, il est correct et nécessaire dès lors que l'on veut "chrooter" la zone.
Les droits sont, de mémoire 700 pour .ssh/
et 600 pour les fichiers à l'intérieur.
Cela est paramétrable, dans ma mémoire au niveau de la ligne StrictModes, placée a Yes le serveur bloque si les permissions ne sont pas correctes.

Hors ligne

#6 29-10-2020 14:30:59

zaphir
Membre
Inscription : 10-09-2010

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

nlancien a écrit :


Quand au propriétaire de /home/sftponly, il est correct et nécessaire dès lors que l'on veut "chrooter" la zone.



On est d'accord pour le dossier sftponly, mais je parlais du dossier user1.

Hors ligne

#7 29-10-2020 14:35:56

macisa
Membre
Inscription : 25-01-2020

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Merci @zaphir et @nlancien pour vos retour dont je prend note.

Les droits sont, de mémoire 700 pour .ssh/
et 600 pour les fichiers à l'intérieur.


Je fais une petite note discrète, pour la création du .shh il faut un 704.

Une première question? A qui fait appel ssh-copy-id coté serveur (enfin, je demande coté serveur, mais cela est aussi possible que cela se passe coté clients que la conversion se passe??)
J'ai pu découvrir qu'il y a un appel de lecture du fichier .bashrc de l'utilisateur sur le serveur.
Je voudrais savoir qui traite cette demande de conversion. Un truc du style /bin/ssh/qui? ou autre /usr/bin/ssh/qui?

Et la seconde, tant à faire :-) faut-il placer un --shell lors de la création de l'utilisateur ( ou plus tard ) afin de restreinte les commandes

@+

Dernière modification par macisa (29-10-2020 15:07:16)

Hors ligne

#8 29-10-2020 16:14:46

nlancien
Membre
Distrib. : Debian Stable
Noyau : Linux 4.19.0-12-amd64
(G)UI : Openbox
Inscription : 17-07-2019

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Pour moi, le dossier ou est emprisonné un utilisateur doit être propriété de root:root, sftponly, et/ou user1. Sous toutes réserves.

ssh-copy-id appelle "sh".
Je tape sur mon système:


which sh
 


/usr/bin/sh



Je vais donc creuser un peu plus loin :

ls -al /usr/bin/sh


Il me dit que c'est un lien symbolique vers dash. C'est ma conf. Dans la tienne ce lien pointe peut être vers bash

Tu n'as rien a faire pour restreindre les droits de ton user, le serveur ssh va bloquer toute commande qui n'est pas du sftp. Tu le vois avec ton message d'erreur. ssh-dcopy-id appelle "sh", le serveur répond : "Niet! Pas une connexion sftp."
Tu peux, peut être, lui changer son shell pour un autre mais je ne connais absolument pas les effets de bords. Si tu testes tiens nous au jus. merci.gif

Quand je voulais faire un serveur sftp, je créais et paramétrait mon utilisateur, et, en dernier ressort je l'intégrais au système internal-sftp. A l'époque, je lui donnais le shell rssh, déprécié maintenant.

Hors ligne

#9 30-10-2020 12:15:50

macisa
Membre
Inscription : 25-01-2020

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

root.root ou users.user

Résumé et fonctionnel

Les utilisateurs sont dans le dossier /home/users/{test,amis}


uid=1001(test) gid=1004(test) groups=1004(test),1001(UN)
uid=1002(amis) gid=1005(amis) groups=1005(amis),1003(DEUX)
 



L'utilisateur {test} est en chown(é) root.root


drwxr-xr-x 4 root root 4096 Oct 30 11:14 test
drwxr-xr-x 3 amis amis 4096 Oct 30 10:57 amis
 



Dans le sshd_config


# Pour l'utilisateur {test} chown root.root appartenant au groupe UN ( pour une utilisation dans le répertoire utilisateur )
Match Group UN
ChrootDirectory /home/users/%u

#Pour l'utilisateur {amis} chown amis.amis appartenant au groupe DEUX ( pour utilisation dans un répertoire autre )
Match Group DEUX
ChrootDirectory /home/sftp/%u/
 




Tout ceci est bien beau mais puisque l'utilisateur client doit envoyer en correspondance sa clé publique ainsi que la possibilité d'autres clés, cela laisse encore la place à deux questions :

1 Entre le moment ou la clé est transmise au serveur et le temps de placer l'utilisateur dans un groupe réservé sftp cloisonné, l'accès ssh et sftp lui sont ouvert ?
- Existe t'il un script pour automatiser le changement de groupe de l'user dès que la clé est réceptionnée ?
2 En plaçant l'utilisateur dans le groupe sftp cloisoné, la porte du ssh se referme, donc du coup, pas de possibilité pour d'autres clés.
- J'ai bien pensé à créer un second groupe disons primaire pour laisser la possibilité de connexion en ssh permettant l'envoi d'autres clé; mais on se retrouve toujours au problème de limitation d'utilisation ssh.

S'il y a des pistes il y a preneur.

La dessus; la bonne journée

Hors ligne

#10 30-10-2020 13:25:22

nlancien
Membre
Distrib. : Debian Stable
Noyau : Linux 4.19.0-12-amd64
(G)UI : Openbox
Inscription : 17-07-2019

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Un groupe 3 avec accès au sftp par mot de passe, qui réceptionne les clefs que tu ventiles après?

PasswordAuthentication yes


Placé dans ton bloc Match Group.

A priori, je n'ai pas essayé, tu autorises la connexion par mot de passe sur ce groupe pour le sftp.

Hors ligne

#11 01-11-2020 12:14:50

macisa
Membre
Inscription : 25-01-2020

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Pour le groupe 3, tous les essais sont infructueux.

Il semblerai dans le sshd_config que dès qu'un dès groupes autorise le sftp, celui-ci ne donne plus accès au ssl.

J'ai essayé avec un AllowGroup sslbymdp pensant que cela passerai, mais sauf erreur de manipulation, cela ne fonctionne pas car le groupe sftpusers est aussi utilisé par le user

Ne fonctionne pas ( exemple parmi tant d'autres )

AllowGroups sslbymdp
PasswordAuthentication yes
AuthenticationMethods password

Subsystem ...
Match Group sftpusers
PasswordAuthentication yes
AuthenticationMethods password
 



id amis
uid=1002(amis) gid=1005(amis) groups=1005(amis),1003(sftpusers),1008(sslbymdp)



Toutes mes test me renvoi à ceci

This service allows sftp connections only.

Hors ligne

#12 01-11-2020 18:24:50

nlancien
Membre
Distrib. : Debian Stable
Noyau : Linux 4.19.0-12-amd64
(G)UI : Openbox
Inscription : 17-07-2019

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Le but était d'autoriser une connexion sftp par password, sftp only, pour que ton "client" t'envoie sa clef. Clef que tu vas ventiler.
Une fois la ventilation faite, il est basculé dans un groupe avec accès sftp uniquement par paire de clefs.

J'apprécie moyennement filer des accès a un shell sur mes machines. Sans doute un peu parano. Sans compter que, si tu n'y prends pas garde, tu laisses aux gens a qui tu files une connexion ssh la possibilité de faire des tunnels et surfer sur des sites "pas trop sympa" (question de goûts) en affichant ton IP :

ssh -D 8080 user@host


Ensuite on paramètre Firefox pour utiliser un proxy socks sur le port localhost:8080 et le tour est joué.

Le gens a qui je fais assez confiance pour filer un accès ssh sur une de mes bécanes sont au nombre de deux. Probablement deux de trop. Entre Fort Knox et se balader en string il y a une marge.

Hors ligne

#13 02-11-2020 00:10:54

macisa
Membre
Inscription : 25-01-2020

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Je comprend les craintes du tout faire et des portes "ouvertes". C'est bien pour cela que je creuse.

Le but c'est d'autoriser quelques personnes divisées en groupes à stockés et à y partagér des ressources. Avec quelques droits préférentiels sur le moyen de connexion -> key, mdp, none

En gros je divise comme ceci :

Subsystem       sftp internal-sftp
# Pour ventiler
1 Match Group KEY
2 Match Group MDP
3 Match Group NONE
#Pour les chroot
1 Match Group GROUPE1
ChrootDirectory /home/groupe1/%u
2 Match Group GROUPE2
ChrootDirectory /home/groupe2/%u
3 Match Group GROUPE3
ChrootDirectory /home/groupe3/%u


Auquel je rajoute un "PermitTunnel no"

Si j'ai bien trouvé, pas encore testé la moindre ligne, il est possible de n'autoriser que la commande usr/bin/sh par un chroot directory dédié.
Ce si je ne me trompe, cela devrait ainsi permettre aux utilisateurs de ne rien faire d'autre dans la partie ssh que de transférer une clé.

ldd /usr/bin/sh
  linu*-vds** (**********)
  libc.s* => /li**** (*********)
  /lib**/ld-linu******.2 (**********)



De là, le serveur à gentiment sa clé.

J'affecte les groupes, ce qui active le sftp et supprime l’accès ssh. M’empêchant par la même occasion de renvoyer une autre clé pour une seconde machine. Grrr
Et là je coince

Que je pensais avoir trouvé la bonne piste en supprimant le ForceCommand.
La connexion sftp passe toujours.
La connexion ssh me renvoi :

/bin/bash: No such file or directory
Connection to ******* closed.

Dernière modification par macisa (02-11-2020 02:59:06)

Hors ligne

#14 03-11-2020 13:02:17

macisa
Membre
Inscription : 25-01-2020

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

Bonjour,

Je souhaitais clôturer ce poste par impossibilité interne à ssh.

Je ne trouve pas le bouton/lien pour ce faire.

Merci

Hors ligne

#15 03-11-2020 16:32:27

nlancien
Membre
Distrib. : Debian Stable
Noyau : Linux 4.19.0-12-amd64
(G)UI : Openbox
Inscription : 17-07-2019

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

En éditant le titre avec ton premier post? Ca se passe souvent comme cela.

Hors ligne

#16 03-11-2020 17:36:16

macisa
Membre
Inscription : 25-01-2020

Re : [Résolu] ssh server [ ssh + sftp ] transfert de clé

scratchhead.gif

[ tout simplement ]

Hors ligne

Pied de page des forums