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

Table des matières:

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

Vidéo: Comment copier à distance des fichiers sur SSH sans entrer votre mot de passe

Vidéo: Comment copier à distance des fichiers sur SSH sans entrer votre mot de passe
Vidéo: Supprimer son historique sur safari iPhone - YouTube 2024, Avril
Anonim
SSH est une bouée de sauvetage lorsque vous devez 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 de devoir entrer des mots de passe et les utiliser pour les scripts!
SSH est une bouée de sauvetage lorsque vous devez 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 de devoir entrer des mots de passe et les 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 une fonctionnalité semblable à celle de Linux. Avec un petit ajustement, SSH sera également exécuté.

Copier des fichiers sur SSH

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

scp [options] original_file destination_file

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:

user@server:path/to/file

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 Desktop/url.txt [email protected]:~/Desktop/url.txt

Cette commande comporte l’indicateur [-P] (notez qu’il s’agit d’un P majuscule). Cela me permet de spécifier un numéro de port à la place du numéro par défaut 22. Cela m'est nécessaire en raison de la configuration de mon système.

Ensuite, mon fichier d'origine est «url.txt», qui se trouve dans un répertoire appelé «Bureau». Le fichier de destination est dans «~ / Desktop / url.txt», ce qui est identique à «/user/yatri/Desktop/url.txt». Cette commande est exécutée par l'utilisateur “yatri” sur l'ordinateur distant “192.168.1.50”.

Que faire si vous avez besoin de faire le contraire? Vous pouvez également copier des fichiers d’un serveur distant.
Que faire si vous avez besoin de faire le contraire? Vous pouvez également copier des fichiers d’un serveur distant.
Ici, j’ai copié un fichier du dossier «~ / Desktop /» de l’ordinateur distant dans le dossier «Desktop» de mon ordinateur.
Ici, j’ai copié un fichier du dossier «~ / Desktop /» de l’ordinateur distant dans le dossier «Desktop» de mon ordinateur.

Pour copier des répertoires entiers, vous devez utiliser l’indicateur [-r] (notez qu’il s’agit d’une lettre minuscule).

Image
Image

Vous pouvez également combiner des drapeaux. Au lieu de

scp –P –r …

Vous pouvez juste faire

scp –Pr …

La partie la plus difficile ici est que la complétion par onglet ne fonctionne pas toujours, il est donc utile d’avoir un autre terminal avec une session SSH en cours d’exécution pour que vous sachiez où placer les choses.

SSH et SCP sans mots de passe

La copie sécurisée est excellente. Vous pouvez l'insérer dans des scripts et le faire effectuer des sauvegardes sur des ordinateurs distants. Le problème est que vous ne pouvez pas toujours être là pour entrer le mot de passe. Et, soyons honnêtes, il est très pénible de donner votre mot de passe à un ordinateur distant auquel vous avez évidemment accès tout le temps.

Nous pouvons nous déplacer en utilisant des mots de passe en utilisant des fichiers de clés. Nous pouvons demander à l’ordinateur de générer deux fichiers de clés - un fichier public appartenant au serveur distant et un fichier privé qui se trouve sur votre ordinateur et doit être sécurisé - et sera utilisé à la place du 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.

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 susmentionnées.
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 susmentionnées.

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

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

~/.ssh/authorized_keys2

Des clés publiques ultérieures peuvent être ajoutées à ce fichier, un peu comme le fichier ~ /.ssh / known_hosts. Cela signifie que si vous souhaitez ajouter une autre clé publique pour votre compte sur ce serveur, vous devez copier le contenu du deuxième fichier id_rsa.pub dans une nouvelle ligne du fichier allowed_keys2 existant.

Considérations de sécurité

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

Dans la 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, ni même vérifiée. Cette clé privée correspond UNIQUEMENT à cette clé publique ONE et la connexion doit être démarrée à partir de l'ordinateur disposant 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é disparaît. Si une personne 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 avoir accès à votre ordinateur pour l'obtenir.

Cela peut-il être plus sécurisé?

Vous pouvez combiner un mot de passe avec des fichiers de clé. Suivez les étapes ci-dessus, mais entrez une phrase secrète forte. Maintenant, lorsque vous vous connectez via SSH ou utilisez SCP, vous aurez besoin du fichier de clé privée approprié. aussi bien que la phrase secrète appropriée.

Une fois que vous avez entré votre phrase secrète une fois, vous ne serez plus invité à la saisir avant la fermeture de votre session. Cela signifie que la première fois que vous utiliserez SSH / SCP, vous devrez entrer votre mot de passe, mais toutes les actions ultérieures ne le nécessiteront pas. Une fois que vous vous êtes déconnecté de votre ordinateur (et non de l'ordinateur distant) ou que vous avez fermé la fenêtre de votre terminal, vous devrez le saisir à nouveau. De cette manière, vous ne sacrifiez pas vraiment la sécurité, mais vous n’êtes pas non plus harcelé pour les mots de passe.

Image
Image

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 très secret et important. (Pour plus d'informations, consultez la rubrique Comment récupérer après que votre mot de passe de messagerie soit compromis)

Il est préférable de créer de nouvelles paires de clés pour chaque ordinateur et compte que vous souhaitez associer. Ainsi, si l’une de vos clés privées est interceptée, vous ne compromettrez 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 crypté sécurisé, 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ïde super sécurisée pour me rassurer.

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

Conseillé: