Comment configurer SSH pour une instance de Google Cloud Platform
Google Cloud Platform est un concurrent d'AWS qui rend l'exécution des serveurs virtualisés facile et bon marché. Malheureusement pour les débutants, ils ont une nouvelle approche de la configuration de SSH qui nécessite des explications et une configuration.
Accès SSH rapide: utilisez la console
Si vous avez besoin d'un accès rapide, la méthode la plus simple consiste à cliquer sur «SSH» dans la console GCP Compute Engine. Cela fera apparaître une nouvelle fenêtre Chrome qui transférera les clés et vous connectera à l'instance.
Ceci est fourni car la configuration de SSH pour un client tiers est un peu plus complexe que ce à quoi vous vous attendez. Pour d'autres fournisseurs de cloud comme AWS, vous devez sélectionner une paire de clés privées, télécharger cette paire de clés et vous connecter à l'instance comme d'habitude à l'aide ssh -i keyfile
.
Cependant, GCP décide de gérer les clés SSH à l'aide des rôles et autorisations IAM. Plutôt que de télécharger une clé privée pour l'instance, vous fournissez plutôt votre clé à votre compte d'utilisateur et fournissez votre clé à l'instance en configurant la connexion au système d'exploitation.
Bien sûr, vous pouvez toujours ajouter manuellement votre clé SSH au authorized_keys
, ce qui résoudra le problème, mais Google a configuré la connexion au système d'exploitation pour une raison, et il est préférable de le gérer de cette façon plutôt que de remplacer manuellement les outils de gestion clés qu'ils ont mis en place.
Configuration de vos propres clés avec connexion au système d'exploitation
La première étape de la configuration de la connexion au système d'exploitation consiste à ajouter vos clés SSH à votre compte d'utilisateur. Si vous gérez l'accès pour d'autres personnes, vous pouvez utiliser l'API Annuaire, mais si vous associez votre propre compte, vous voudrez utiliser le gcloud
CLI.
Téléchargez le programme d'installation et exécutez-le. Le programme d'installation ouvrira une nouvelle fenêtre vous permettant de vous connecter au compte Google auquel vous souhaitez ajouter les clés. Une fois cela fait, exécutez la commande suivante dans votre terminal pour ajouter ~/.ssh/id_rsa.pub
aux clés de votre compte:
gcloud compute os-login ssh-keys add --key-file ~/.ssh/id_rsa.pub --ttl 0
La connexion au système d'exploitation est désactivée par défaut, vous devrez donc l'activer à l'échelle du projet ou pour des instances spécifiques. Sous «Métadonnées» dans la console Compute Engine, ajoutez une nouvelle paire de clés avec enable-oslogin
comme clé et TRUE
comme valeur.
Si votre compte est un administrateur IAM, vous devriez maintenant pouvoir vous connecter à toutes les instances avec la connexion au système d'exploitation activée, en utilisant la clé privée que vous avez liée à votre compte.
Cependant, si votre compte n'est pas le propriétaire, vous aurez besoin de quelques autorisations IAM activées pour pouvoir accéder à l'instance:
roles/compute.osAdminLogin
, qui accorde des autorisations d'administrateur, ouroles/compute.osLogin
, qui n'accorde pas d'autorisations d'administrateur.
Vous pouvez définir l'une de ces autorisations au niveau de l'instance à l'aide des liaisons de stratégie IAM.
Toutes les nouvelles instances que vous créez seront automatiquement accessibles à l'aide de la clé privée liée à votre compte, sans configuration manuelle requise. Si vous accordez l'accès à d'autres utilisateurs et devez le révoquer à l'avenir, vous pouvez simplement révoquer leurs autorisations IAM, ce qui résoudra le problème sans nécessiter de rotation des clés.