SSH & FTP
Two ways to reach a Tauri host remotely: sshd for an encrypted console, and ftps for encrypted file transfer. Both are root-only daemons, check the Tauri accounts, confine a hosting account to its own space, and are meant to run at boot.
Deux moyens d'atteindre un hôte Tauri à distance : sshd pour une console chiffrée, et ftps pour le transfert de fichiers chiffré. Ce sont deux démons réservés à root, qui vérifient les comptes Tauri, confinent un compte d'hébergement à son propre espace, et sont prévus pour tourner au démarrage.
1. SSH consoleConsole SSH
sshd # listens on 22# écoute sur 22
sshd 2222 # custom port# port personnalisé
- Host key: an Ed25519 key generated at first start in
c:/user/root/ssh/host_ed25519.Clé d'hôte : une clé Ed25519 générée au premier lancement dansc:/user/root/ssh/host_ed25519. - Authentication: password only (no public keys), against the Tauri accounts. The shell runs as that account; a hosting account sees only its own space.Authentification : mot de passe uniquement (pas de clé publique), sur les comptes Tauri. Le shell tourne sous ce compte ; un compte d'hébergement ne voit que son propre espace.
- Cryptography: one fixed suite —
curve25519-sha256,ssh-ed25519,aes256-ctr,hmac-sha2-256. PuTTY accepts it as is; with OpenSSH you may have to force it:Cryptographie : une suite fixe —curve25519-sha256,ssh-ed25519,aes256-ctr,hmac-sha2-256. PuTTY l'accepte telle quelle ; avec OpenSSH il peut falloir la forcer :
ssh -o KexAlgorithms=curve25519-sha256 -o Ciphers=aes256-ctr \
-o MACs=hmac-sha2-256 -o HostKeyAlgorithms=ssh-ed25519 \
-o PreferredAuthentications=password root@172.16.100.2
There is no SFTP subsystem and no scp: WinSCP and FileZilla's SFTP mode fail, by design. Files go through FTPS (next section) — tell your customers; /comptes/depot.php says so. The server shows no host-key fingerprint, and authentication attempts are logged on the system console: keep console access restricted.
Il n'y a ni sous-système SFTP ni scp : WinSCP et le mode SFTP de FileZilla échouent, c'est voulu. Les fichiers passent par FTPS (section suivante) — prévenez vos clients ; /comptes/depot.php le dit. Le serveur n'affiche pas d'empreinte de clé d'hôte, et les tentatives d'authentification sont journalisées sur la console système : gardez l'accès console restreint.
2. FTPS serverServeur FTPS
ftps (root, detaches by itself, one process per connection) listens on port 990 by default. It is implicit FTPS: TLS 1.3 starts as soon as a client connects — there is no AUTH TLS on port 21. In FileZilla, choose “FTPS — FTP over implicit TLS”.
ftps (root, se détache seul, un processus par connexion) écoute par défaut sur le port 990. C'est du FTPS implicite : le TLS 1.3 commence dès la connexion du client — il n'y a pas d'AUTH TLS sur le port 21. Dans FileZilla, choisissez « FTPS — FTP sur TLS implicite ».
ftps # port 990, passive address read from the interface# port 990, adresse passive lue sur l'interface
ftps 990 203.0.113.7 # announce this public IPv4 in passive mode# annoncer cette IPv4 publique en mode passif
ftps restart # restart server and sessions, without reboot# relancer serveur et sessions, sans redémarrage
- It uses the default certificate (
c:/user/root/tls/) and does not start without one; it reloads it whenacmerenews it.Il emploie le certificat par défaut (c:/user/root/tls/) et ne démarre pas sans lui ; il le recharge quandacmele renouvelle. - A user's FTP root is its home
c:/user/<nom>/; a hosting account uploads its site into/www/, the only folder served.La racine FTP d'un utilisateur est son répertoirec:/user/<nom>/; un compte d'hébergement dépose son site dans/www/, le seul dossier servi. - Passive mode only (
PASV/EPSV); listing, download, upload, folders, deletion, size and dates — but neither rename nor append.Mode passif uniquement (PASV/EPSV) ; listage, téléchargement, envoi, dossiers, suppression, taille et dates — mais ni renommage ni ajout en fin de fichier. - An upload that would exceed the account's quota is refused (
552) without losing what is already stored; refusals give their cause (550 Permission denied…).Un envoi qui dépasserait le quota du compte est refusé (552) sans perdre ce qui est déjà stocké ; les refus donnent leur cause (550 Permission denied…).
Data connections use the ports 50000–50063 by default (64 simultaneous transfers). Open them in the firewall in front of the server, otherwise no transfer succeeds. They are set in the configuration (section ftp, keys pasv_min, pasv_max): sql "UPDATE @:/Elysee/config/ SET valeur='50127' WHERE clef='pasv_max'". The passive address is read from the interface when the service starts: if the machine's address changes, run ftps restart.
Les connexions de données utilisent par défaut les ports 50000–50063 (64 transferts simultanés). Ouvrez-les dans le pare-feu placé devant le serveur, sinon aucun transfert n'aboutit. Ils se règlent dans la configuration (section ftp, clés pasv_min, pasv_max) : sql "UPDATE @:/Elysee/config/ SET valeur='50127' WHERE clef='pasv_max'". L'adresse passive est lue sur l'interface au démarrage du service : si l'adresse de la machine change, lancez ftps restart.
ftps restart stops the server and its open sessions (a running ftps keeps its code in memory, so this is also how an update takes effect), then starts again; it retries binding port 990 every second until the old connections are closed — about fifteen seconds in practice. Connected clients have to reconnect.
ftps restart arrête le serveur et ses sessions ouvertes (un ftps en marche garde son code en mémoire : c'est aussi ainsi qu'une mise à jour prend effet), puis relance ; il retente de prendre le port 990 chaque seconde jusqu'à la fermeture des anciennes connexions — une quinzaine de secondes en pratique. Les clients connectés doivent se reconnecter.
3. Clients (from Tauri)Clients (depuis Tauri)
ssh user@host # interactive encrypted shell (password)# shell chiffré interactif (mot de passe)
ftp host # FTPS client, interactive prompt# client FTPS, invite interactive
ftp host user pass get f # or one pass: run a command and quit# ou en une passe : une commande puis quitter
The ftp client supports ls, pwd, cd, mkdir, rm, get, put. It encrypts the connection but does not validate the remote server's certificate: consider it confidentiality, not authenticity.
Le client ftp gère ls, pwd, cd, mkdir, rm, get, put. Il chiffre la connexion mais ne valide pas le certificat du serveur distant : à considérer comme de la confidentialité, pas de l'authenticité.
4. Starting them at bootLes lancer au démarrage
serviceadm add sshd root never sshd
serviceadm add ftps root never ftps
Both detach by themselves, hence the never policy (start once at boot). Effective at the next reboot.
Tous deux se détachent seuls, d'où la policy never (lancer une fois au démarrage). Effet au prochain redémarrage.
Tauri has no built-in firewall: expose SSH (22), FTPS (990) and the passive range only to the networks that need them, on your router or provider's firewall. See Security. Tauri n'a pas de pare-feu intégré : n'exposez SSH (22), FTPS (990) et la plage passive qu'aux réseaux qui en ont besoin, sur votre routeur ou le pare-feu de l'hébergeur. Voir Sécurité.