in

Comment copier à distance des fichiers via SSH sans entrer votre mot de passe

SSH est une bouée de sauvetage lorsque vous avez besoin de gérer un ordinateur à distance, mais saviez-vous que vous pouvez également télécharger et télécharger des fichiers? En utilisant les clés SSH, vous pouvez éviter d’avoir à entrer des mots de passe et l’utiliser pour les scripts!

Ce processus fonctionne sous Linux et Mac OS, à condition qu’ils soient correctement configurés pour l’accès SSH. Si vous utilisez Windows, vous pouvez utiliser Cygwin pour obtenir des fonctionnalités de type Linux, et avec quelques ajustements, SSH fonctionnera également.

Copie de fichiers via SSH

La copie sécurisée est une commande vraiment utile et très simple à utiliser. Le format de base de la commande est le suivant:

scp [options] fichier_original fichier_destination

Le plus gros kicker est de savoir comment formater la partie distante. Lorsque vous adressez un fichier distant, vous devez le faire de la manière suivante:

utilisateur @ serveur: chemin / vers / fichier

Le serveur peut être une URL ou une adresse IP. Ceci est suivi de deux points, puis du chemin d’accès au fichier ou au dossier en question. Regardons un exemple.

scp –P 40050 Bureau / url.txt yatri@192.168.1.50: ~ / Desktop / url.txt

Cette commande comporte le [-P] drapeau (notez que c’est un P majuscule). Cela me permet de spécifier un numéro de port au lieu du numéro par défaut 22. Cela est nécessaire pour moi en raison de la façon dont j’ai configuré mon système.

Ensuite, mon fichier d’origine est « url.txt » qui se trouve à l’intérieur d’un répertoire appelé « Desktop ». Le fichier de destination se trouve dans «~ / Desktop / url.txt» qui est le même que «/user/yatri/Desktop/url.txt». Cette commande est exécutée par l’utilisateur «yatri» sur l’ordinateur distant «192.168.1.50».

ssh 1

Et si vous devez faire le contraire? Vous pouvez copier des fichiers à partir d’un serveur distant de la même manière.

ssh 2

Ici, j’ai copié un fichier du dossier «~ / Desktop /» de l’ordinateur distant vers le dossier «Desktop» de mon ordinateur.

Pour copier des répertoires entiers, vous devrez utiliser le [-r] flag (notez que c’est un r minuscule).

scp récursif

Vous pouvez également combiner des drapeaux. À la place de

scp –P –r…

Tu peux juste faire

scp –Pr…

La partie la plus difficile ici est que l’achèvement des onglets ne fonctionne pas toujours, il est donc utile d’avoir un autre terminal avec une session SSH en cours d’exécution afin que vous sachiez où mettre les choses.

SSH et SCP sans mots de passe

La copie sécurisée est excellente. Vous pouvez le mettre dans des scripts et lui faire faire des sauvegardes sur des ordinateurs distants. Le problème est que vous n’êtes peut-être pas toujours là pour saisir le mot de passe. Et, soyons honnêtes, c’est vraiment très pénible de saisir votre mot de passe sur un ordinateur distant auquel vous avez évidemment accès à tout moment.

Eh bien, nous pouvons nous déplacer en utilisant des mots de passe en utilisant des fichiers clés. Nous pouvons faire en sorte que l’ordinateur génère deux fichiers clés – un public qui appartient au serveur distant et un privé qui se trouve sur votre ordinateur et doit être sécurisé – et ceux-ci seront utilisés à la place d’un mot de passe. Assez pratique, non?

Sur votre ordinateur, entrez la commande suivante:

ssh-keygen –t rsa

Cela va générer les deux clés et les mettre dans:

~ / .ssh /

avec les noms «id_rsa» pour votre clé privée et «id_rsa.pub» pour votre clé publique.

keygen 1

Après avoir entré la commande, il vous sera demandé où enregistrer la clé. Vous pouvez appuyer sur Entrée pour utiliser les valeurs par défaut mentionnées ci-dessus.

Ensuite, il vous sera demandé de saisir une phrase de passe. Appuyez sur Entrée pour laisser ce champ vide, puis recommencez lorsqu’il vous demande une confirmation. L’étape suivante consiste à copier le fichier de clé publique sur votre ordinateur distant. Vous pouvez utiliser scp pour ce faire:

keygen 2

La destination de votre clé publique se trouve sur le serveur distant, dans le fichier suivant:

~ / .ssh / clés_autorisées2

Les clés publiques suivantes peuvent être ajoutées à ce fichier, tout comme le fichier ~ / .ssh / known_hosts. Cela signifie que si vous vouliez ajouter une autre clé publique pour votre compte sur ce serveur, vous copieriez le contenu du deuxième fichier id_rsa.pub dans une nouvelle ligne sur le fichier autorisé_keys2 existant.

Considérations relatives à la sécurité

N’est-ce pas moins sûr qu’un mot de passe?

Dans un sens pratique, pas vraiment. La clé privée générée est stockée sur l’ordinateur que vous utilisez et elle n’est jamais transférée, même pas pour être vérifiée. Cette clé privée correspond UNIQUEMENT à cette clé publique, et la connexion doit être démarrée à partir de l’ordinateur qui possède la clé privée. RSA est assez sécurisé et utilise une longueur de 2048 bits par défaut.

C’est en fait assez similaire en théorie à l’utilisation de votre mot de passe. Si quelqu’un connaît votre mot de passe, votre sécurité sort de la fenêtre. Si quelqu’un possède votre fichier de clé privée, la sécurité est perdue pour tout ordinateur disposant de la clé publique correspondante, mais il doit accéder à votre ordinateur pour l’obtenir.

Cela peut-il être plus sûr?

Vous pouvez combiner un mot de passe avec des fichiers clés. Suivez les étapes ci-dessus, mais entrez une phrase de passe forte. Désormais, lorsque vous vous connectez via SSH ou utilisez SCP, vous aurez besoin du fichier de clé privée approprié et de la phrase de passe appropriée.

Une fois que vous avez entré votre mot de passe une fois, vous ne serez plus invité à le saisir tant que vous n’aurez pas fermé votre session. Cela signifie que la première fois que vous utilisez SSH / SCP, vous devrez entrer votre mot de passe, mais toutes les actions suivantes ne l’exigeront pas. Une fois que vous vous êtes déconnecté de votre ordinateur (pas de l’ordinateur distant) ou que vous fermez la fenêtre de votre terminal, vous devrez l’entrer à nouveau. De cette façon, vous ne sacrifiez pas vraiment la sécurité, mais vous n’êtes pas non plus harcelé pour les mots de passe tout le temps.

Puis-je réutiliser la paire de clés publique / privée?

C’est une très mauvaise idée. Si quelqu’un trouve votre mot de passe et que vous utilisez le même mot de passe pour tous vos comptes, il a désormais accès à tous ces comptes. De même, votre fichier de clé privée est également super secret et important. (Pour plus d’informations, jetez un œil à Comment récupérer après que votre mot de passe e-mail est compromis)

Il est préférable de créer de nouvelles paires de clés pour chaque ordinateur et compte que vous souhaitez lier. De cette façon, si l’une de vos clés privées est capturée d’une manière ou d’une autre, vous ne compromettez qu’un seul compte sur un ordinateur distant.

Il est également très important de noter que toutes vos clés privées sont stockées au même endroit: dans ~ / .ssh / sur votre ordinateur, vous pouvez utiliser TrueCrypt pour créer un conteneur sécurisé et chiffré, puis créer des liens symboliques dans votre ~ / .ssh / répertoire. En fonction de ce que je fais, j’utilise cette méthode super-paranoïaque super-sécurisée pour me mettre l’esprit à l’aise.

Avez-vous utilisé SCP dans des scripts? Utilisez-vous des fichiers clés au lieu de mots de passe? Partagez votre propre expertise avec d’autres lecteurs dans les commentaires!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment modifier le son d’alerte du nouveau courrier d’Outlook

Comment utiliser l'Observateur d'événements pour trouver l'heure de démarrage de votre PC

Comment utiliser l’Observateur d’événements pour trouver l’heure de démarrage de votre PC