Teleport est un système d'autorité de certification open source et facile à installer. Si vous avez différents serveurs accessibles via SSH, différentes bases de données Kubernetes et applications Web. Ainsi, le téléport est utilisé pour les mettre tous sur une seule plate-forme en tant que plan d'accès à toutes ces infrastructures. Il dispose également d'une fonctionnalité de partage et d'enregistrement de sessions interactives dans tous les environnements.
Teleport fonctionne également en tant que service systemd et est très facile à installer et à déployer. Dans cet article, nous allons discuter du processus d'installation de la téléportation sur le serveur Ubuntu 20.04.
Installation
Comme dans le cas des systèmes d'exploitation Linux et Mac, le service principal de téléportation teleport et outil d'administration tctl sont utilisés car ils sont conçus pour fonctionner sur de tels systèmes d'exploitation. Aussi le client utilisateur de téléportation tsh et UI sont disponibles pour Linux, Mac et d'autres systèmes d'exploitation.
Prérequis
- Une machine Linux avec un port 443 ouvert
- Une application d'authentification à deux facteurs telle que Authy, Google Authenticator ou Microsoft Authenticator
- Un client SSH comme OpenSSH
- Accès à un service DNS tel qu'Amazon Route 53 ou CoreDNS
Installation du téléport sur le serveur Ubuntu 20.04
Si vous voulez des binaires 32 bits ou des binaires ARM, consultez la page de la dernière version sur ce lien https://goteleport.com/teleport/download/ . Mais pour installer la version 64 bits des binaires de téléportation, exécutez la commande comme indiqué ci-dessous.
Pour installer la clé publique de téléportation, exécutez la commande comme indiqué ci-dessous.
$ curl https://deb.releases.teleport.dev/teleport-pubkey.asc | sudo apt-key add -
Pour ajouter un référentiel à APT, exécutez la commande comme indiqué ci-dessous.
$ sudo add-apt-repository 'deb https://deb.releases.teleport.dev/ stable main'
Pour mettre à jour APT Cache, exécutez la commande comme indiqué ci-dessous.
$ sudo apt-get update
Enfin, pour installer Teleport, exécutez la commande comme indiqué ci-dessous.
$ sudo apt install teleport
Configuration de la téléportation
Pour la configuration de teleport, exécutez simplement la configuration et enregistrez-la au format yaml. Pour plus de détails, vérifiez la configuration comme indiqué ci-dessous avec l'utilisation de votre éditeur préféré.
$ sudo vim /etc/teleport.yaml
teleport: nodename: linuxways data_dir: /var/lib/teleport log: output: stderr severity: INFO format: output: text ca_pin: [] diag_addr: "" auth_service: enabled: “yes” cluster_name: "teleport" listen_addr: 0.0.0.0:3025 tokens: - proxy,node,app:e6cebf660b1f3390f204130b9649 public_addr: 5.22.209.65:3025 ssh_service: enabled: “yes” labels: env: example commands: - name: hostname command: [hostname] period: 1m0s app_service: enabled: “yes” debug_app: true proxy_service: enabled: “yes” listen_addr: 0.0.0.0:3023 web_listen_addr: 0.0.0.0:3080 tunnel_listen_addr: 0.0.0.0:3024 public_addr: 5.22.209.65:3080
Pour que la configuration fonctionne correctement, le répertoire /var/lib/teleport doit être fourni avec les bonnes autorisations qui permettent à teleport et tctl de lire et d'écrire sans problème. Exécutez la commande comme indiqué ci-dessous à cette fin.
$ sudo chmod 755 -R /var/lib/teleport/
Configuration du système de noms de domaine
Vous devez fournir le certificat pour le protocole https sécurisé. C'est possible avec le certificat que vous avez déjà ou en créant un certificat auto-signé ou en ajoutant le DNS comme tele.example.com pointant vers votre adresse IP publique et en exécutant des commandes avec l'utilisation du protocole ACME qui demandent que les certificats TLS soient automatiquement disponibles à partir de Chiffrez. Il accède à un point de terminaison HTTP sur votre hôte Teleport afin de relever les défis d'authentification.
$ sudo teleport configure --acme [email protected] --cluster-name=tele.example.com -o file
Ou créez un certificat auto-signé et
$ sudo openssl req -x509 -days 365 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/private/teleport.key -out /etc/pki/tls/certs/teleport.crt
Après la création du certificat, ajoutez ces certificats à la configuration du téléport comme indiqué ci-dessous.
$ sudo vim /etc/teleport.yaml
teleport: nodename: linuxways data_dir: /var/lib/teleport log: output: stderr severity: INFO format: output: text ca_pin: [] diag_addr: "" auth_service: enabled: “yes” cluster_name: "teleport" listen_addr: 0.0.0.0:3025 tokens: - proxy,node,app:e6cebf660b1f3390f204130b9649 public_addr: 5.22.209.65:3025 ssh_service: enabled: “yes” labels: env: example commands: - name: hostname command: [hostname] period: 1m0s app_service: enabled: “yes” debug_app: true proxy_service: enabled: “yes” listen_addr: 0.0.0.0:3023 web_listen_addr: 0.0.0.0:3080 tunnel_listen_addr: 0.0.0.0:3024 public_addr: 5.22.209.65:3080
https_keypairs :
- key_file: /etc/pki/tls/private/teleport1.key
cert_file: /etc/pki/tls/certs/teleport1.crt
Configuration du service de téléportation et démarrage du service
Créons un service systemd pour le service de téléportation avec les commandes comme indiqué ci-dessous.
$ sudo vim /etc/systemd/system/teleport.service
[Unit] Description=Teleport SSH Service After=network.target [Service] Type=simple Restart=on-failure EnvironmentFile=-/etc/default/teleport ExecStart=/usr/local/bin/teleport start --pid-file=/run/teleport.pid ExecReload=/bin/kill -HUP $MAINPID PIDFile=/run/teleport.pid LimitNOFILE=8192 [Install] WantedBy=multi-user.target
Maintenant, exécutons la commande comme indiqué ci-dessous pour recharger le démon, activer et démarrer le service.
$ sudo systemctl daemon-reload
$ sudo systemctl start teleport
$ sudo systemctl enable teleport
Pour vérifier l'état du service de téléportation, exécutez la commande comme indiqué ci-dessous.
$ sudo systemctl status teleport.service
Création de l'utilisateur de téléportation avec la configuration de l'authentification à deux facteurs
Pour vous connecter, vous devez avoir un utilisateur avec le bon privilège. Par défaut, la téléportation applique l'utilisation de l'authentification à deux facteurs, nous créons donc un utilisateur avec le nom d'utilisateur admin-user en utilisant l'authentification à deux facteurs avec l'utilisation de google authenticationator. Vous pouvez également utiliser d'autres moyens d'authentification disponibles dans les options.
Exécutez la commande comme indiqué ci-dessous pour créer l'utilisateur.
$ sudo tctl users add admin-user --roles=editor,access --logins=root,ubuntu,linuxways
Comme vous pouvez le voir, nous fournissons des rôles d'éditeur et un accès à cet utilisateur en tant que privilège d'administrateur et des utilisateurs tels que root, ubuntu ou linuxways peuvent se connecter aux serveurs des serveurs du cluster de téléportation.
Après avoir exécuté la commande ci-dessus, vous verrez la sortie comme indiqué sur la capture d'écran ci-dessous avec le lien pour créer un mot de passe pour l'utilisateur.
Maintenant, parcourons le site et créons un mot de passe pour l'utilisateur à l'aide de l'authentification à deux facteurs, comme indiqué dans la capture d'écran ci-dessous.
Après avoir cliqué sur créer un compte, le tableau de bord de l'interface utilisateur Web de téléportation s'affichera. Vous remarquerez votre utilisateur nouvellement créé avec la liste des nœuds privilégiés pour l'utilisateur. Pour plus de détails, consultez la capture d'écran comme indiqué ci-dessous.
Ajouter un nœud au cluster
Pour ajouter un nouveau nœud au cluster de téléportation, exécutez la commande comme indiqué ci-dessous.
Première connexion à la téléportation
$ tsh login --proxy=tele.example.com --auth=local --user=admin-user
Générez un jeton avec une limite de temps spécifiée, ici nous limitons le temps à 1 heure.
$ tctl tokens add --type=node --ttl=1h
Téléchargez maintenant le package de téléportation vers votre nouveau nœud. Dans notre cas, notre nouveau nœud fonctionne avec le système d'exploitation Ubuntu. Pour cela, suivez le processus d'installation comme indiqué ci-dessous.
$ curl https://deb.releases.teleport.dev/teleport-pubkey.asc | sudo apt-key add -
$sudo add-apt-repository 'deb https://deb.releases.teleport.dev/ stable main'
$ sudo apt-get update
$ sudo apt install teleport
Exécutez maintenant cette commande sur le nouveau nœud en utilisant le jeton créé avec la commande ci-dessus. Pour plus de détails, vérifiez la commande comme indiqué ci-dessous.
Comme dans notre cas, le nom d'hôte est testserver afin que nous puissions le vérifier en parcourant le site de Teleport WEB-UI et en vérifiant la section des serveurs comme indiqué dans l'image ci-dessous.
Accéder au serveur ajouté
Maintenant, le nouveau nœud a été ajouté avec succès, il est donc facilement accessible avec l'interface utilisateur WEB ou le terminal en cliquant simplement sur se connecter et en y accédant avec l'option d'utilisateur préféré dans la liste. Pour plus de détails, consultez la capture d'écran comme indiqué ci-dessous.
Dans notre cas, nous avons sélectionné root en tant qu'utilisateur, puis l'onglet suivant sera ouvert où le nouveau serveur de nœud sera accessible comme indiqué sur la capture d'écran ci-dessous.
Comme vous pouvez le voir, nous exécutons facilement les commandes sur le nouveau nœud "testserver" avec l'interface WEB de téléportation.
Conclusion
Dans cet article, vous avez appris à installer le téléport sur le serveur Ubuntu 20.04 et à ajouter le nouveau nœud. L'exécution des commandes sur le serveur ajouté via l'interface utilisateur WEB de téléportation est facile à faire. Merci !