Comment générer des clés SSH?
Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.
La bibliothèque officielle Vultr Go peut être utilisée pour interagir avec l' API Vultr . L'API Vultr vous permet de contrôler les ressources associées à votre compte, y compris les serveurs, les DNS, le pare-feu, les instantanés, le réseau, etc. Ce tutoriel donnera une introduction à l'utilisation du client officiel Go API en créant une application simple pour obtenir des informations sur vos serveurs.
Tout d'abord, nous allons commencer par créer un nouveau module (projet). Habituellement, vous utiliseriez l'URL d'un référentiel pour votre code comme nom de module, mais cela dépasse le cadre de ce didacticiel. Pour l'instant, nous utiliserons serverinfo comme nom de module.
Pour créer le projet, exécutez les commandes suivantes:
# Create the folder in the current directory.
mkdir serverinfo
# Enter the new folder.
cd serverinfo
# Initialize the module.
go mod init serverinfo
Ensuite, nous téléchargerons la bibliothèque d'API à partir de GitHub (un site d'hébergement de code). Pour télécharger des bibliothèques, vous devez utiliser la go getcommande. Cela téléchargera automatiquement la bibliothèque et ses dépendances tout en l'ajoutant au fichier go.mod . Dans le même terminal que vous avez ouvert précédemment, entrez la commande suivante:
go get github.com/vultr/govultr
Pour utiliser le client API, vous aurez besoin de votre clé API. Vous pouvez récupérer votre clé API dans l' onglet API de la section Compte de votre tableau de bord . Vous devrez également autoriser votre adresse IP à utiliser la clé API. Vous pouvez trouver votre adresse IP en vous rendant sur ifconfig.me . Notez que vous recherchez votre adresse IP publique , pas votre adresse IP privée. Votre adresse IP privée correspond à ce que vous trouverez dans les paramètres réseau de votre ordinateur et se trouve dans l'une des plages CIDR suivantes: 10.0.0.0/8 , 172.16.0.0/12 ou 192.168.0.0/16 .
Une fois que vous avez votre adresse IP, ajoutez-la dans la section Contrôle d'accès . Dans la zone après le / , tapez 32. /32est une signification de masque de réseau 255.255.255.255. Cela signifie que seule votre adresse IP est incluse dans la plage.
Avertissement: protégez votre clé API comme vous le feriez pour votre mot de passe. La clé API a accès à l'ensemble de votre compte, y compris la facturation, les serveurs et le stockage.
Maintenant, nous allons commencer à travailler sur le programme. Ouvrez le dossier que nous avons créé dans l'éditeur de votre choix et créez un fichier nommé main.go.
Dans le fichier, saisissez ou copiez-collez le code suivant:
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
}
Le package mainGo indique que nous créons une commande, pas une bibliothèque. L'instruction import déclare les dépendances que nous utiliserons. func main()est la fonction appelée lorsque nous exécutons notre programme.
L'étape suivante consiste à initialiser le client API. Pour ce faire, nous devons utiliser la fonction govultr.NewClient (http.Client, string) . Ajoutez le code suivant dans la fonction main () :
client := govultr.NewClient(nil, "YOURAPIKEY")
Remplacez-la YOURAPIKEYpar la clé API que vous avez récupérée précédemment.
Regardons ce code un peu plus près. Sur le côté gauche de la :=, nous avons client. C'est le nom d'une variable . Une variable stocke des valeurs. Sur le côté droit, nous avons un appel de fonction à govultr.NewClient . Le premier paramètre est nul, car nous n'avons pas besoin de changer le client HTTP par défaut. Le deuxième paramètre est la clé API que nous utilisons pour nous authentifier. L' :=opérateur affecte le côté droit au côté gauche, dans ce cas, le résultat de l'appel de fonction à client.
Notre programme ne fait toujours rien. Pour le rendre utile, nous allons récupérer des informations sur nos serveurs de Vultr. Nous utiliserons la fonction govultr.Client.Server.List (context.Context) ([] govultr.Server, error) . Ajoutez le code suivant à la fin de la fonction main () :
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
Dans ce code, nous appelons la fonction API pour récupérer les informations du serveur. Ne vous inquiétez pas encore de la signification du contexte , car c'est un sujet plus avancé. Pour l'instant, tout ce que nous devons savoir, c'est que le contexte contrôle le fonctionnement du client API. context.Background () renvoie un contexte vide . Après avoir récupéré les informations du serveur dans les deux variables, serveurs et err , nous vérifions s'il y a eu une erreur. Si c'est le cas, nous informons l'utilisateur de l'erreur et sortons avec le code 1 (erreur).
Maintenant que nous avons un tableau de serveurs dans la variable serveurs ( [] govultr.Server ), nous pouvons réellement l'afficher. Ajoutez le code suivant à la fin de la fonction main () :
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
Tout d' abord, nous imprimons (affichage) un en- tête, Servers:. Ensuite, nous faisons une boucle sur le tableau des serveurs , en ignorant l'index en l'attribuant à _, et en affectant le serveur actuel à la variable de serveur . À l'intérieur de la boucle, nous affichons l'étiquette du serveur, l'adresse IP, l'emplacement, les frais en attente, la bande passante actuelle et la bande passante autorisée. Pour ce faire efficacement, nous utilisons des chaînes de format , la chaîne qui ressemble " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Le %s moyen de remplacer la chaîne suivante, tandis que le %.2fmoyen d'imprimer le flottant suivant (nombre décimal) arrondi à 2 décimales. Le reste de la chaîne de format est imprimé littéralement (tel quel).
À ce stade, votre code devrait ressembler à ceci:
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
client := govultr.NewClient(nil, "YOURAPIKEY")
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
}
Nous pouvons maintenant exécuter le code. Revenez au terminal que nous avons ouvert plus tôt et entrez la commande go run. La sortie ressemblera à ce qui suit:
Servers:
server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth
server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth
Si vous recevez une erreur, assurez-vous que votre clé API et votre adresse IP sont correctes.
À ce stade, vous aurez appris avec succès les bases de l'utilisation du client API officiel et écrit un programme qui affichera des informations sur les serveurs de votre compte.
De là, vous pouvez faire beaucoup plus. Par exemple, vous pouvez écrire un programme pour provisionner un nouveau serveur lorsque vous manquez de mémoire. Vous pouvez écrire une application pour mettre à niveau automatiquement votre serveur lorsque vous manquez de bande passante ou de stockage. Vous pouvez même écrire un outil pour mettre à jour automatiquement les enregistrements DNS en fonction de votre adresse IP actuelle.
Pour plus d'informations sur la bibliothèque govultr, vous pouvez trouver la documentation de la bibliothèque govultr sur godoc .
govultr est un projet open-source . Si vous trouvez des bogues dans govultr, vous pouvez les signaler sur GitHub . Vous pouvez également contribuer directement au code en soumettant une demande d'extraction .
Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.
Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.
Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau
ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.
Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+
Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.
Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus
13 outils commerciaux d'extraction de données de Big Data
Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true
Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.