# Pure-FTPd - TLS/SSL Error?

**URL:** <https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944>\
**Category:** Support Debian\
**Created:** [Août 12, 2022, 2:01 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944 "2022-08-12T14:01:51Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 12, 2022, 2:01 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/1 "2022-08-12T14:01:51Z")

</div>

Bonjour,

Je n’arrive plus à activer le TLS/SSL sur mon serveur Pure-FTPd. J’ai essayé avec les version 1.0.51 et 1.0.48 en compilant et celle de Debian Buster la 1.0.47.

Les logs me ressortent que le fichier n’existe pas.

`pure-ftpd[15491]: (?@?) [ERROR] Sorry, but that file doesn't exist: [/etc/ssl/private/pure-ftpd.pem]`

Le répertoire SSL :

```
ls -lh /etc/ssl/
total 32K
drwxr-xr-x 2 root root 16K avril 28 2021 certs
-rw-r--r-- 1 root root 11K oct. 12 2019 openssl.cnf
drwxr-xr-x 2 root ssl-cert 4,0K août 12 13:37 private

```

J’ai bien le fichier `pure-ftpd.pem` :

```
ls -lh /etc/ssl/private/pure-ftpd.pem
-rw-r----- 1 root ssl-cert 2,2K août 12 13:37 /etc/ssl/private/pure-ftpd.pem

```

J’ai suivis [cette doc](http://howto.zw3b.fr/linux/serveurs/howto-pure-ftpd-tls-ssl-virtualchroot) que j’ai écris il y a quelques temps - une quinzaine d’années - pour pouvoir suivre les liens symboliques dans mes Home’s chrootées - Il fallait et faut toujours compiler soi-même sinon les liens symboliques ne sont pas actif.

Pour les certificats j’ai essayé avec un certificat auto-signé et avec un certificat personnel en copiant collant la clef et le certif.

Lien des [releases Pure-FTPd](http://ftp.ntu.edu.tw/pub/pure-ftpd/releases/) 🙂

Qui aurait des informations ?

Merci.

Salutations,  
Romain

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Août 12, 2022, 2:14 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/2 "2022-08-12T14:14:12Z")

</div>

Qui lance le processus pure-ftpd ?

---

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 12, 2022, 2:19 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/3 "2022-08-12T14:19:48Z")

</div>

En fait c’est bon … **Il faut créer un certificat TLS/SSL en 2048** et non en 1024 😃

Merci @Clochette !

Bonne fin de journée à vous.

---

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 12, 2022, 2:23 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/4 "2022-08-12T14:23:53Z")

</div>

C’est souvent comme çà :

On trouve la solution soi-même, 10 secondes après avoir poster une demande de «&nbsp;support&nbsp;» 😉

Merci. Bonne fin de journée, soirée.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Août 12, 2022, 2:27 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/5 "2022-08-12T14:27:03Z")

</div>

Bonjour

> [@anon36725218](#):
>
> `drwxr-xr-x 2 root ssl-cert 4,0K août 12 13:37 private`

je note que les _bit mode_ de ton répertoire `/etc/ssl/private` sont à `0755` au lieu de `0710`  
donc, actuellement, les clefs privées de ton serveur ne le sont pas tant que ça.

Il te faudrait, avec les privilèges du compte `root`  
lancer la ligne de commande suivante :

```auto
chmod -v 0710 /etc/ssl/private

```

Ce qui devrait donner :

```plaintext
chmod -v 0710 /etc/ssl/private
le mode de '/etc/ssl/private' a été modifié de 0755 (rwxr-xr-x) en 0710 (rwx--x---)

```

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Août 12, 2022, 3:17 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/6 "2022-08-12T15:17:52Z")

</div>

> [@anon29980398](#):
>
> je note que les _bit mode_ de ton répertoire `/etc/ssl/private` sont à `0755` au lieu de `0710`

simple curiosité, mais est-ce qu’il y a une raison particulière pour laisser le droit d’exécution au groupe propriétaire, sur ces fichiers ?

---

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 12, 2022, 3:20 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/7 "2022-08-12T15:20:19Z")

</div>

> [@anon29980398](#):
>
> note que les _bit mode_ de ton répertoire `/etc/ssl/private` sont à `0755` au lieu de `0710`  
> donc, actuellement, les clefs privées de ton serveur ne le sont pas tant que ça.

🤣 _les clefs privées de ton serveur ne le sont pas tant que ça._

Merci oui je sais 😉 C’est pour cela que j’ai même listé le répertoire pour attendre vos réactions 🙂

Youpi @anon29980398 - Merci d’avoir ce professionnalisme - Merci pour moi, nous les non-moins pro 😉 - je remet le répertoire `/etc/ssl/private/` avec les bons droits.

ftps://ftp.lab3w.com ? J’ai réussis à mettre mon certif en plus 🥳

J’ai créais un compte «&nbsp;anonymous&nbsp;» qui tombe là : [https://www.zw3b.com/pub/](https://www.zw3b.com/pub/) 😇

Bonne fin de journée à vous.

Romain

---

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 12, 2022, 3:32 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/8 "2022-08-12T15:32:19Z")

</div>

> [@Sputnik93](#):
>
> simple curiosité, mais est-ce qu’il y a une raison particulière pour laisser le droit d’exécution au groupe propriétaire, sur ces fichiers ?

Peut-être pour que le groupe `ssl-certs` puisse exécuter quelque chose sans lire .. mhum 😕 je ne sais pas trop

@anon29980398 ?

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Août 12, 2022, 4:00 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/9 "2022-08-12T16:00:01Z")

</div>

Oui, le bit d’exécution n’a pas la même signification pour un fichier que pour un répertoire, et sans le bit d’exécution pour le groupe concerné, les membres du groupe concernés ne pourraient accéder à ce répertoire.

---

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 15, 2022, 1:38 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/10 "2022-08-15T13:38:49Z")

</div>

> [@anon36725218](#):
>
> ftps://ftp.lab3w.com ? J’ai réussis à mettre mon certif en plus 🥳

Comme pour vos certificats [Let’s Encrypt](https://letsencrypt.org/) de vos sites Web, avec [Pure-FTPd](https://www.pureftpd.org/), j’ai dû copier la clef et le certificat de cette manière.

Tout d’abord ma clef «&nbsp;`domain.tld.key`&nbsp;» étant encryptée/protégée (demande de passe-phrase au lancement d’apache par exemple) :

```
-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----

```

J’ai dû décrypter la clef avec la bonne passe-phrase de cette manière pour avoir la clef normale :

`openssl rsa -in domain.tld.key -out domain.tld.noprotect.key`

Ce qui m’a donné la clef «&nbsp;`domain.tld.noprotect.key`&nbsp;» PRIVATE RSA :

```
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

```

Le fichier «&nbsp;`domain.tld.crt`&nbsp;» de mon certificat :

```
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

```

Étape [Let’s Encrypt](https://letsencrypt.org/) 🙂  
Concaténer le contenu des 2 fichiers pour créer le fichier de «&nbsp;`pure-ftpd.pem`&nbsp;» démandé :

`cat domain.tld.noprotect.key domain.tld.crt > pure-ftpd.pem`

Pour avoir le fichier «&nbsp;`pure-ftpd.pem`&nbsp;» qui va bien :

```
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

```

Et modifier les droits au fichier pour que seul le compte qui lance le serveur FTP puisse le lire 😉

`chmod 600 pure-ftpd.pem`

Ce qui m’a permis d’avoir le certificat signé par mon [AC LAB3W](https://www.zw3b.com/pub/lab3w-cacert.crt) - un wildcard plus simple que d’avoir «&nbsp;N&nbsp;» certificats par sous-domaine mais moins sécurisé 🤪 pourrait-on dire ? L’important ici, c’est que personne ne puisse sniffer sur le réseau, borne DSLAM et routeur d’entreprise, les mots de passe en clair des utilisateurs qui se connecteraient à mon serveur FTP.

J’ajoute un lien vers le [client FTP FileZilla](https://filezilla-project.org/) qui a une version gratuite qui fonctionne très bien - pour ce qui ne connaissent pas ce protocole de transfert de fichiers sécurisé 🙄

Salutations,  
Romain

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Août 15, 2022, 2:38 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/11 "2022-08-15T14:38:43Z")

</div>

> [@anon36725218](#):
>
> Ce qui m’a permis d’avoir le certificat signé par mon [AC LAB3W](https://www.zw3b.site/pub/lab3w-cacert.crt) - un wildcard plus simple que d’avoir « N » certificats par sous-domaine mais moins sécurisé 🤪 pourrait-on dire ? L’important ici, c’est que personne ne puisse sniffer sur le réseau, borne DSLAM et routeur d’entreprise, les mots de passe en clair des utilisateurs qui se connecteraient à mon serveur FTP.

C’est bien mais avec Let’s encrypt tu pouvais beaucoup plus simplement faire la même chose.

---

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 15, 2022, 2:56 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/12 "2022-08-15T14:56:46Z")

</div>

> [@Clochette](#):
>
> C’est bien mais avec Let’s encrypt tu pouvais beaucoup plus simplement faire la même chose.

Oui juste concaténer les fichiers… key et fullchain du domaine.

En plus l’utilité de d’avoir [Let’s Encrypt](https://letsencrypt.org/) c’est d’avoir des certificats valides dans les navigateurs mondiaux 🙂 mais je n’ai toujours pas [intégrer Let’s Encrypt - docs](https://letsencrypt.org/fr/docs/).

😉

---

<div class="post-metadata">

**Author:** ![anon36725218](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@anon36725218](https://www.debian-fr.org/u/anon36725218)\
**Post date:** [Août 15, 2022, 3:07 UTC](https://www.debian-fr.org/t/pure-ftpd-tls-ssl-error/86944/13 "2022-08-15T15:07:40Z")

</div>

En passant il faudrait une variable supplémentaire à [Pure-FTPd](https://www.pureftpd.org) comme celle d’[Apache](https://apache.org) - docs - [mod\_ssl](https://httpd.apache.org/docs/current/mod/mod_ssl.html).

```nohighlight
SSLPassPhraseDialog exec:/etc/ssl/private/.apache.domain.tld.passphrase

```

😉
