Configurer un accès SFTP & SSH sur une VM Google Cloud (GCP)

50 / 100 Score SEO

Par défaut, les instances GCP privilégient l’authentification par clé SSH pour de bonnes raisons de sécurité. Pourtant, certains cas d’usage, par exemple fournir un accès SFTP à un collaborateur via FileZilla nécessitent l’activation de l’authentification par mot de passe et la création d’un compte utilisateur classique. Ce guide explique, étape par étape, comment réaliser cela en toute sécurité sur une VM Linux (ex : Ubuntu) hébergée sur GCP.

Configurer un accès SFTP & SSH sur une VM Google Cloud (GCP)

Prérequis

  • Accès au projet Google Cloud et permissions pour utiliser gcloud.
  • Une VM Linux (par ex. Ubuntu) avec accès via IP publique ou Cloud IAP.
  • Client SFTP (FileZilla) pour tester la connexion.
  • Accès sudo sur la VM (ou l’aide d’un administrateur si nécessaire).

Étapes pas à pas

1. Se connecter à la VM

Ouvrez votre terminal local et connectez-vous à l’instance GCP avec :

gcloud compute ssh your-vm-name --zone=your-vm-zone

Remplacez your-vm-name et your-vm-zone par les valeurs de votre instance.

2. Créer un nouvel utilisateur

Sur la VM, ajoutez un utilisateur et définissez un mot de passe :

sudo adduser newusername

Saisissez le mot de passe lorsque demandé et conservez-le pour la connexion SFTP.

3. Activer l’authentification par mot de passe (si nécessaire)

Éditez la configuration SSH principale :

sudo nano /etc/ssh/sshd_config

Assurez-vous que ces lignes sont présentes et ne sont pas commentées :

PasswordAuthentication yes
PermitRootLogin no

Si votre image GCP utilise les fichiers /etc/ssh/sshd_config.d/ (souvent sur les images Ubuntu cloud), ces réglages peuvent être surchargés. Passez à l’étape 4. Dans le cas contraire, redémarrez simplement le service SSH (voir juste après l’étape 4).

4. Vérifier et modifier les fichiers cloud-init (Ubuntu GCP)

Les images cloud peuvent inclure des fichiers comme 60-cloudimg-settings.conf ou 50-cloudimg-settings.conf qui contiennent PasswordAuthentication no. Il faut les commenter.

sudo nano /etc/ssh/sshd_config.d/60-cloudimg-settings.conf
# (si présent) commenter la ligne :
# PasswordAuthentication no

sudo nano /etc/ssh/sshd_config.d/50-cloudimg-settings.conf
# (si présent) commenter la ligne :
# PasswordAuthentication no

Après modification, redémarrez le service SSH :

sudo systemctl restart ssh

5. Tester la connexion SFTP (FileZilla)

Ouvrez FileZilla et connectez-vous avec :

  • Hôte : adresse IP publique de la VM
  • Protocole : SFTP
  • Utilisateur : newusername
  • Mot de passe : le mot de passe défini

Si la connexion échoue, vérifiez :

  • Le port SSH (22) est bien ouvert dans le pare-feu GCP (règles de firewall).
  • Le service SSH est actif sur la VM (sudo systemctl status ssh).
  • Les fichiers de configuration ne contiennent pas d’autres directives qui interdissent l’accès.

6. (Optionnel) Donner les droits sudo

Pour ajouter l’utilisateur au groupe sudo :

sudo usermod -aG sudo newusername

Testez avec :

su - newusername
sudo whoami
# doit renvoyer : root

FAQ

  • Est-ce sécurisé d’activer PasswordAuthentication ?

    Moins sûr que l’usage exclusif de clés SSH publiques. Si vous activez les mots de passe, utilisez des mots de passe forts, limitez l’accès par IP si possible, et surveillez les logs SSH.


  • Peut-on restreindre l’accès SFTP à un seul dossier ?

    Oui — utilisez ChrootDirectory et configurez l’utilisateur dans un groupe SFTP dédié (configuration avancée SSH).


  • Que faire si Cloud IAP est utilisé ?

    Si vous passez par Cloud IAP, l’accès SSH se fait différemment ; vérifiez la documentation GCP et adaptez les règles de firewall et IAM en conséquence.


Conclusion

Ce guide fournit les étapes essentielles pour créer un utilisateur, autoriser l’authentification par mot de passe (si nécessaire), vérifier et modifier les fichiers cloud-init qui pourraient surcharger la configuration SSH, et tester l’accès SFTP via FileZilla. Pour la production, privilégiez les clés SSH, restreignez les accès et surveillez les connexions.

50 / 100 Score SEO

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut