[Configuration] sFTP, CHROOT et SSH

Bonjour à tous,

Je suis un petit nouveau dans le monde de Linux. Mais j’ai “hérité” d’un projet, qui sur le papier me semble pas compliqué, mais ne marche malheureusement pas dans la pratique.
Je m’explique, j’ai un serveur dédié SoYouStart chez OVH sur lequel j’ai installé une Debian 8.1 64b.
Je dois créer un serveur SFTP, utilisable en lecture et écriture, pour un groupe d’utilisateur, et garder un accès SSH pour moi (pour l’administration)
J’ai suivi et essayé plusieurs tuto, notamment celui la http://www.kitpages.fr/fr/cms/193/installer-un-sftp-avec-chroot-sur-debian (et plusieurs reinstall après mettre complétement bloqué) cette semaine, mais toujours le même résultat, cela marche pas.

Je suis parti hier d’une install propre et j’ai suivi le tuto ci dessus.
Je remarque que dès que je rajoute les codes suivant dans mon fichier sshd_config (qui était celui d’origine, sans aucune modif pour le moment) je n’ai plus d’accès sFTP mais pire, je n’ai même plus d’accès SSH. Par contre, dès que je supprime ces lignes, le sFTP marche, mais tout les utilisateurs ont accès au SSH, et peuvent naviguer dans l’arborescence (donc pas de CHROOT)

[code]Subsystem sftp /usr/lib/openssh/sftp-server

Match Group sftp_chroot
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no[/code]

Je viens donc vers vous pour avoir des conseils et comprendre ou je fais une erreur.

bonjour.

[quote]Code:
Subsystem sftp /usr/lib/openssh/sftp-server

Match Group sftp_chroot
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no[/quote]

vous avez fait la moitié du travail,maintenant il vous reste à créer un(des)utilisateur(s) du sftp,à le(s)mettre(nt)dans le groupe sftp_chroot et ça devrait marcher si vous avez exactement suivi le tuto que vous avez indiqué et qui est très bien fait.

[quote=“avram”]bonjour.

[quote]Code:
Subsystem sftp /usr/lib/openssh/sftp-server

Match Group sftp_chroot
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no[/quote]

vous avez fait la moitié du travail,maintenant il vous reste à créer un(des)utilisateur(s) du sftp,à le(s)mettre(nt)dans le groupe sftp_chroot et ça devrait marcher si vous avez exactement suivi le tuto que vous avez indiqué et qui est très bien fait.[/quote]

C’est aussi fait. J’ai bien un groupe sftp_chroot avec un utilisateur “allosoleil” devant

un cat /etc/group me donne ça

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20: fax:x:21: voice:x:22: cdrom:x:24: floppy:x:25: tape:x:26: sudo:x:27: audio:x:29: dip:x:30: www-data:x:33: backup:x:34: operator:x:37: list:x:38: irc:x:39: src:x:40: gnats:x:41: shadow:x:42: utmp:x:43: video:x:44: sasl:x:45: plugdev:x:46: staff:x:50: games:x:60: users:x:100: nogroup:x:65534: input:x:101: systemd-journal:x:102: systemd-timesync:x:103: systemd-network:x:104: systemd-resolve:x:105: systemd-bus-proxy:x:106: netdev:x:107: crontab:x:108: ssh:x:109: bind:x:110: admintde:x:1000: sftp_chroot:x:1001:allosoleil allosoleil:x:1002:

J’ai aussi remplacé

par

mais cela ne change rien à mon soucis

avez vous bien suivi le tuto à la lettre?
A la fin de la commande “cat /etc/group” il y a le groupe allosoleil:x:1002: qui ne doit pas exister,avez vous bien créer l’utilisateur allosoleil avec la commande:

useradd allosoleil --gid sftp_chroot --groups sftp_chroot -m --shell /bin/false ???

avez vous créé un mot de passe pour l’utilisateur allosoleil?
avez vous donné les bons droits sur le répertoire selon ce qui est indiqué:

avez vous redémarré ssh pour que les modifs soient prises en compte?

Si vous procédez exactement comme il est indiqué votre sftp fonctionnera “out of the box”

Au passage quel est votre fichier sshd_config?

Alors dans le doute, j’ai tout recommencé.
J’ai effacé l’utilisateur allosoleil et je l’ai recréer avec la bonne commande.
Je lui ai bien attribué un mot de passe, et j’ai bien mis les bonnes autorisations sur les dossiers comme indiqué sur le tuto.

cat /etc/group

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20: fax:x:21: voice:x:22: cdrom:x:24: floppy:x:25: tape:x:26: sudo:x:27: audio:x:29: dip:x:30: www-data:x:33: backup:x:34: operator:x:37: list:x:38: irc:x:39: src:x:40: gnats:x:41: shadow:x:42: utmp:x:43: video:x:44: sasl:x:45: plugdev:x:46: staff:x:50: games:x:60: users:x:100: nogroup:x:65534: input:x:101: systemd-journal:x:102: systemd-timesync:x:103: systemd-network:x:104: systemd-resolve:x:105: systemd-bus-proxy:x:106: netdev:x:107: crontab:x:108: ssh:x:109: bind:x:110: admintde:x:1000: sftp_chroot:x:1001:allosoleil

mon fichier sshd_config

[code]# Package generated configuration file

See the sshd_config(5) manpage for details

What ports, IPs and protocols we listen for

Port 22

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 without-password
PermitRootLogin yes
StrictModes yes
AllowUsers admintde

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_*

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
Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1

Subsystem sftp internal-sftp

Match group sftp_chroot
ChrootDirectory /home/%u
AlloTcpForwarding no
ForceCommand internal-sftp
[/code]

Dans l’etat actuel, je peux même plus me connecter en SSH. Quand j’essaie de me connecter via Putty, j’ai le message suivant:
“Network error: connection refused”

Je n’arrive même pas sur la mire ou je dois rentrer le login.
Par contre dès que j’enleve les lignes suivant[code]
Subsystem sftp internal-sftp

Match group sftp_chroot
ChrootDirectory /home/%u
AlloTcpForwarding no
ForceCommand internal-sftp
[/code]
ça fonctionne denouveau. Mais pas de CHROOT du coup

comment essayez vous de vous connecter en ssh,avec votre user et votre passwd? avec une paire de clés privée/public?

il ya des lignes à modifier dans votre sshd_config:

[quote]# 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
[/quote]

remplacer par:

[quote]# 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
[/quote]

[quote]# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes
AllowUsers admintde[/quote]

remplacer par:

[quote]# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin no
StrictModes yes
#AllowUsers admintde[/quote]

[quote][# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
/quote]

remplacer par:

[quote]# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes
[/quote]

pour que l’utilisateur du sftp puisse se connecter avec login/passwd

remplacer par:

[quote]Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
[/quote][/quote]

et vous relancez ssh avec /etc/init.d/ssh restart

Pour le SSH, je me connecte via Putty avec login et mot de passe.

Je vais testé les modifs que vous m’avez donner et je vous fait un retour. Merci en tout cas pour le temps passé à m’aider

[quote=“avram”]comment essayez vous de vous connecter en ssh,avec votre user et votre passwd? avec une paire de clés privée/public?

il ya des lignes à modifier dans votre sshd_config:

[quote]# 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
[/quote]

remplacer par:

[quote]# 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
[/quote]

[quote]# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes
AllowUsers admintde[/quote]

remplacer par:

[quote]# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin no
StrictModes yes
#AllowUsers admintde[/quote]

[quote][# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
/quote]

remplacer par:

[quote]# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes
[/quote]

pour que l’utilisateur du sftp puisse se connecter avec login/passwd

remplacer par:

[quote]Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
[/quote][/quote]

et vous relancez ssh avec /etc/init.d/ssh restart[/quote]

Alors je viens de tester ces modif, cela ne marche pas

qu’est ce qui ne marche pas,la connection ssh ou la connection sftp pour le user allosoleil?
Connectez vous ssh en ligne de commande pour voir les messages d’erreurs.

qu’est ce qui ne marche pas,la connection ssh ou la connection sftp pour le user allosoleil?
Connectez vous ssh en ligne de commande pour voir les messages d’erreurs.[/quote]

Les 2. D’ailleurs en SSH plus aucun utilisateur ne peux se connecter

quelle commande utilisez vous pour vous connecter en ssh,quel message d’erreur?sans message d’erreur impossible de savoir ce qui coince et où.

Ben pour la connexion SSH, j’utilise pas de commande, mais le logiciel Putty sous Windows
Il me donne comme message d’erreur
"Network error: connection refused"

[quote=“BourbonSyd”]Ben pour la connexion SSH, j’utilise pas de commande, mais le logiciel Putty sous Windows
Il me donne comme message d’erreur
"Network error: connection refused"[/quote]

pouvez vous vous connecter depuis une machine linux?

La j’en ai malheureusement pas sous la main, mais ce soir j’installerai une machine virtuel avec linux pour vous donner un peu plus d’info.

Chez moi c’est plus simple:

nano /etc/ssh/sshd_config

Commenter la ligne:
Subsystem sftp /usr/lib/openssh/sftp-server

Ajouter:
Subsystem sftp internal-sftp

& ceci:
Match user username,username2,username3 # etc… note : pas d’espace entre les virgules
ChrootDirectory %h

Avec ça, tout les users notés après “Match user” ne peuvent pas se connecter en SSH mais OK pour le sFTP.

exactement le même ennui avec sftp
sudo service ssh restart
Job for ssh.service failed because the control process exited with error code. See “systemctl status ssh.service” and “journalctl -xe” for details.

édit: résolu depuis