Table des matières:

Connexion SSH / SCP sécurisée de Raspberry Pi au serveur Cloud pour les sauvegardes et les mises à jour : 3 étapes
Connexion SSH / SCP sécurisée de Raspberry Pi au serveur Cloud pour les sauvegardes et les mises à jour : 3 étapes

Vidéo: Connexion SSH / SCP sécurisée de Raspberry Pi au serveur Cloud pour les sauvegardes et les mises à jour : 3 étapes

Vidéo: Connexion SSH / SCP sécurisée de Raspberry Pi au serveur Cloud pour les sauvegardes et les mises à jour : 3 étapes
Vidéo: Linux #5 - Se connecter en SSH avec Putty 2024, Novembre
Anonim
Connexion SSH / SCP sécurisée de Raspberry Pi au serveur Cloud pour les sauvegardes et les mises à jour
Connexion SSH / SCP sécurisée de Raspberry Pi au serveur Cloud pour les sauvegardes et les mises à jour

Le but de cette instructable est de vous montrer comment vous connecter automatiquement et en toute sécurité de votre Raspberry Pi à un serveur cloud distant (et vice versa) afin d'effectuer des sauvegardes et des mises à jour, etc. Pour ce faire, vous utilisez des paires de clés SSH qui évitez le besoin de mémoriser les mots de passe et vous offre une connexion plus sécurisée.

(ATTENTION - N'essayez pas cela si vous n'êtes pas compétent pour configurer les autorisations Linux, sinon vous rendrez vos systèmes plus vulnérables aux attaques de pirates.)

Conditions

1. Raspberry Pi avec une interface de ligne de commande (CLI) comme vous le verriez sur Putty.

2. Accès à un serveur cloud distant hébergé par exemple par OVH ou DigitalOcean, avec une CLI.

3. Un ordinateur portable ou un PC Windows avec Putty et PuttyGen installés.

Hypothèses

1. Vous avez une certaine connaissance des commandes Linux

2. Vous pouvez accéder à votre serveur distant en utilisant des processus manuels conventionnels, par ex. FTP.

3. Vous aurez préinstallé PuttyGen sur votre PC Windows

Pas

En résumé, - Voir Figure 1

a) Sur votre PC Windows, créez un fichier PPK privé à l'aide de PuttyGen

b) Sur votre PC Windows, créez un fichier PPK public à l'aide de PuttyGen (cela se fait automatiquement à l'étape a)

b) Sur votre PC Windows, copiez la clé publique de votre PC Windows vers le serveur cloud distant

d) Sur votre PC Windows, convertissez le fichier Private PPK en clé OpenSSH à l'aide de PuttyGen

e) Copiez la clé OpenSSH de votre PC Windows vers le Raspberry Pi

f) Testez l'accès et le transfert de fichiers du Raspberry Pi vers votre serveur distant

Étape 1: A) Créez un fichier PPK privé, B) Créez une clé publique et C) Copiez-la sur le serveur distant

A) Créez un fichier PPK privé, B) Créez une clé publique et C) Copiez-la sur le serveur distant
A) Créez un fichier PPK privé, B) Créez une clé publique et C) Copiez-la sur le serveur distant
A) Créez un fichier PPK privé, B) Créez une clé publique et C) Copiez-la sur le serveur distant
A) Créez un fichier PPK privé, B) Créez une clé publique et C) Copiez-la sur le serveur distant

Pour créer un fichier PPK privé, ouvrez PuttyGen sur votre PC Windows. Vous pouvez accéder à PuttyGen en cliquant avec le bouton droit sur l'icône de mastic dans la barre des tâches de Windows. Depuis le menu PuttyGen, sélectionnez key puis générez une paire de clés, sélectionnez l'option SSH2 -RSA key. Vous serez invité à définir un mot de passe lorsque vous créez la clé privée, et si vous définissez un mot de passe, il vous sera demandé lors des opérations futures. Enregistrez la clé privée quelque part en toute sécurité sur votre PC Windows. Vous verrez alors la clé publique dans le volet de la fenêtre, comme illustré à la figure 2.

Ensuite, transférons la clé publique vers le serveur cloud distant. Ouvrez une session Putty sur le serveur cloud distant à l'aide de Putty. Disons que vous vous êtes connecté en tant que remoteuser1, puis procédez comme suit sur la CLI du serveur cloud distant

cd /home/remoteuser1 (si ce n'est déjà fait) mkdir.ssh

nano.ssh/authorized_keys (Vous verrez un écran vide - collez la clé publique montrée dans la figure 2 puis enregistrez et fermez ce fichier)

chmod 0700.ssh

chmod 0600 /home/remoteuser1/.ssh/authorized_keys

Étape 2: D) Convertissez le fichier PPK privé en clé OpenSSH et E) Copiez-le sur le Raspberry Pi

Pour convertir la clé privée en OpenSSH, ouvrez PuttyGen, puis ouvrez la clé privée que vous avez créée précédemment - accédez à l'option Conversions du menu, puis choisissez Exporter la clé OpenSSH - assurez-vous que le fichier que vous créez a le type de fichier.key. Enregistrez-le quelque part en toute sécurité, puis ouvrez une session de mastic pour vous connecter à votre Raspberry Pi. Copiez le fichier de clé dans le répertoire personnel du Raspberry Pi du compte utilisateur que vous avez utilisé pour vous connecter au Raspberry Pi. Supposons que la clé s'appelle pitobot.key, puis suivez ces étapes:

cd /accueil/pi

sudo mv pitobot.key /home/pi/

sudo chmod 600 pitobot.key

Vous êtes maintenant prêt à tester si votre installation est réussie - Encore une fois, cela se fait à partir du Pi. N'oubliez pas que remoteuser1 est le compte sur le serveur cloud distant dans le répertoire personnel duquel vous avez enregistré la clé publique, et ipaddress est l'adresse IP du serveur cloud distant.

Tout d'abord à partir du Raspberry Pi, connectons-nous au serveur cloud distant à l'aide de Putty. Tapez les commandes suivantes sur le Raspberry PI CLI. (Si vous avez défini un mot de passe lorsque vous avez créé une clé privée, il vous sera demandé maintenant.)

sudo ssh -i /home/pi/pitobot.key remoteuser1@ipaddress

Cela vous connectera à la CLI du serveur cloud distant sur le répertoire de base de remoteuser1. En tapant 'exit; vous retournerez à la CLI de votre Raspberry Pi.

Ensuite, essayez de transférer des fichiers du serveur cloud distant vers le Raspberry Pi. Utilisez les commandes suivantes: (Encore une fois, si vous avez défini une phrase secrète lorsque vous avez créé une clé privée, elle vous sera demandée maintenant.)

sudo scp -i /home/pi/pitobot.key remoteuser1@ipaddress://var/www/html/*.* /home/pi/

Cela transférera tous les fichiers du dossier /var/www/html/ sur le serveur distant vers le dossier /home/pi/ sur votre Raspberry Pi. (Les deux points sont très importants) Vous pouvez bien entendu modifier l'ordre des commandes et transférer les fichiers du Pi vers le serveur distant.

Étape 3: Considérations de sécurité

Bien que l'approche par paire de clés SSH améliore la sécurité, tenez compte des éléments suivants:

1. Avec les paires de clés SSH activées, vous devriez envisager de supprimer la possibilité pour les utilisateurs de se connecter directement au serveur distant (vous pouvez également accéder à vos serveurs à l'aide des paires de clés Putty sous Windows en utilisant la même paire de clés, et vous pouvez également envisager de désactiver connectez-vous également sur votre Pi). Soyez prudent si vous choisissez de le faire et n'adoptez pas une approche big bang. Pour ce faire, vous devez désactiver quelques configurations dans le fichier de configuration ssh. Soyez très prudent en faisant cela. Les commandes sont

nano /etc/ssh/sshd_config

Et dans le fichier, apportez les modifications suivantes

Mot de passeAuthentification non

Utiliser PAM non

Enregistrez, quittez puis redémarrez SSH par systemctl restart ssh (c'est pour Debian. Cela peut être différent sur différentes distributions Linux)

2) Gardez toutes vos clés en sécurité, sinon vous risquez une violation de données ou de ne pas avoir accès à vos serveurs. Je recommande de les conserver dans un coffre-fort sécurisé tel que bitwarden.com et d'en restreindre l'accès via votre politique de contrôle d'accès.

3) L'utilisation d'une phrase secrète améliore la sécurité, mais elle peut rendre l'automatisation des tâches cron, etc. plus difficile. La décision d'utiliser cette fonctionnalité et d'autres doit être déterminée par une évaluation des risques, par exemple, si vous traitez des données personnelles, vous avez besoin de contrôles plus importants/proportionnés.

Conseillé: