Outils pour utilisateurs

Outils du site


sftp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

sftp [2012/11/29 23:34]
nicolas créée
sftp [2019/04/02 11:14]
Ligne 1: Ligne 1:
-====== Serveur de fichier sécurisé avec SSH, SFTP et SSHFS ====== 
-Cette page explique comment configurer un serveur de fichier simple, léger et sécurisé en utilisant SSH, SFTP et SSHFS. ​ 
-Le serveur ainsi configuré : 
-  * sera accessible via SFTP (SSH) 
-  * utilisera des connexions chiffrées 
-  * sera capable d'​authentifier un utilisateur avec clé publique 
-  * chrootera cet utilisateur dans son home 
-  * interdira l'​accès au shell à cet utilisateur 
-  * sera montable dans arborescence sous Linux et comme disque réseau sous Windows 
  
-L'​installation se décompose en deux parties principales : l'​installation du serveur et l'​installation du client 
- 
-===== Serveur ===== 
- 
-==== Installation ==== 
-Sur le serveur le seul programme utilisé est OpenSSH qui est installé sur beaucoup de distributions en standard. 
- 
-==== Ajout du groupe sftpusers ==== 
-Tous les utilisateurs qui seront membres du groupe ''​sftpusers''​ seront automatiquement restreints à l'​utilisation de sftp lors de leur connexion. 
-''​groupadd sftpusers''​ 
- 
-==== Configuration du daemon SSH ==== 
-Ajoutez au fichier ''/​etc/​ssh/​sshd_config''​ : 
-<​code>​ 
-# Chroot for sftpusers members 
-Match Group sftpusers 
-        ChrootDirectory %h 
-        ForceCommand internal-sftp 
-        AllowTcpForwarding no 
-        GatewayPorts no 
-        X11Forwarding no 
-</​code>​ 
- 
-Note : AllowUser et DenyUser sont toujours effectifs, n'​oublier pas d'​autoriser vos futurs utilisateurs si besoin est. 
- 
-==== Création d'un utilisateur ==== 
-Il faut maintenant créer un utilisateur qui ne pourra qu'​accéder à son répertoire en SFTP. Pour cela il faut qu'il soit membre de ''​sftpusers'',​ qu'il ait un homedir et qu'il n'ait pas de shell. Cet utilisateur s'​appellera ''​toto''​. 
- 
-<​code>​ 
-mkdir /home/toto 
-chown root:root: /home/toto 
-chmot 755 /home/toto 
-useradd -U -G toto,​sftpusers -s /bin/false -d /home/toto 
-mkdir /​home/​toto/​data 
-chown toto:toto /​home/​toto/​data 
-chmod 750 /​home/​toto/​data 
-passwd toto # Pas obligatoire si vous voulez une authentification par clé publique 
-</​code>​ 
- 
-L'​astuce ici consiste à donner le homedir à root mais à laisser tout le monde y accéder, puis donner un répertoire ''​data''​ accessible uniquement à toto. Sans cette manipulation le chroot n'est pas possible. 
- 
-==== Authentification par clé publique ==== 
-Si vous voulez pouvoir monter automatiquement ce point de montage dans l’arborescence du **client** au démarrage il faut mettre en place un système de clé publique. En temps normal les clés sont situées dans le homedir de l'​utilisateur ''​~/​.ssh/​authorized_keys'',​ cependant ici puisque c'est root qui a les droits sur le homedir, OpenSSH détecte une erreur de permission et ne permet pas le login. Il faut changer l'​endroit où OpenSSH cherche les clés. 
- 
-**Attention :** Si vous avez déjà des comptes qui se connectent avec clé dans ''​~/​.ssh''​ ayez conscience que changer cette directive peut rendre l'​accès à votre serveur inaccessible. 
- 
-Dans ''/​etc/​ssh/​sshd_config''​ : 
-<​code>​ 
-AuthorizedKeysFile ​   /​etc/​ssh/​%u/​authorized_keys 
-</​code> ​ 
- 
-Cela va dire à OpenSSH de chercher dans un autre répertoire cette clé (''​%u''​ correspond au nom d'​utilisateur qui se connecte). Il faut donc créer ce répertoire avec les bonnes permissions : 
-<​code>​ 
-mkdir /​etc/​ssh/​toto/​ 
-chown toto:toto /​etc/​ssh/​toto 
-chmod 755 /​etc/​ssh/​toto 
-touch /​etc/​ssh/​toto/​authorized_keys 
-chown toto:toto /​etc/​ssh/​toto/​authorized_keys 
-chmod 644 /​etc/​ssh/​toto/​authorized_keys 
-</​code>​ 
- 
-On rempliera le fichier ''​authorized_keys''​ dans la partie configuration client. 
sftp.txt · Dernière modification: 2019/04/02 11:14 (modification externe)