Comment configurer SSH pour une instance Google Cloud Platform
Google Cloud Platform est un concurrent d'AWS qui facilite et rend peu coûteux l'exécution de serveurs virtualisés. Malheureusement pour les débutants, ils ont une approche novatrice pour configurer SSH qui nécessite une certaine explication et configuration.
Accès SSH rapide : Utiliser la console
Si vous avez besoin d'un accès rapide, la méthode la plus simple consiste à cliquer sur "SSH" depuis la console Google Cloud Compute Engine. Cela ouvrira une nouvelle fenêtre Chrome qui transférera les clés et vous connectera à l'instance.
Cela est fourni car la configuration de SSH pour un client tiers est un peu plus complexe que ce à quoi vous pourriez vous attendre. Pour d'autres fournisseurs de cloud comme AWS, vous sélectionneriez une paire de clés privées, téléchargeriez cette paire de clés et vous connecteriez à l'instance comme d'habitude en utilisant.
ssh -i keyfileCependant, GCP décide de gérer les clés SSH en utilisant des rôles et des permissions IAM. Plutôt que de télécharger une clé privée pour l'instance, vous fournissez votre clé à votre compte utilisateur et fournissez votre clé à l'instance en configurant la connexion OS.
Bien sûr, vous pouvez toujours ajouter manuellement votre clé SSH au
authorized_keysun fichier, qui résoudra le problème, mais Google a mis en place la connexion OS pour une raison, et il est préférable de le gérer de cette manière plutôt que de contourner manuellement les outils de gestion des clés qu'ils ont mis en place.
Configurer vos propres clés avec OS Login
La première étape pour configurer la connexion OS consiste à ajouter vos clés SSH à votre compte utilisateur. Si vous gérez l'accès pour d'autres personnes, vous pouvez utiliser l'API d'annuaire, mais si vous liez votre propre compte, vous voudrez utiliser le
gcloudCLI.
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à vos clés de compte :
gcloud compute os-login ssh-keys add
--key-file ~/.ssh/id_rsa.pub
--ttl 0
La connexion OS est désactivée par défaut, vous devrez donc l'activer soit à l'échelle du projet, soit 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 à n'importe quelle instance avec la connexion OS activée, en utilisant la clé privée que vous avez associé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 permissions d'administrateur, ouroles/compute.osLogin, qui ne grantit pas les permissions d'administrateur.
Vous pouvez définir l'une de ces autorisations au niveau de l'instance en utilisant des liaisons de politique IAM.
Toute nouvelle instance que vous créez sera automatiquement accessible en utilisant la clé privée liée à votre compte, sans nécessiter de configuration manuelle. 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 de clé.


