Utilisation de SCP sur une chaîne SSH existante? Possible?

0

SCP établit une nouvelle connexion lors de la copie de fichiers, ce qui peut parfois rendre la tâche difficile si des pare-feu sont impliqués.

Par exemple,

Host-A & lt; - & gt; Host-B & lt; - & gt; Host-C & lt; - & gt; Hôte-D

  • L'hôte-A est connecté à l'hôte B via SSH, puis l'hôte B est connecté sur l’hôte C via SSH, puis sur l’hôte D.
  • L'hôte A ne peut pas se connecter à d'autres ordinateurs que l'hôte B, l'hôte B ne peut se connecter qu'à l'hôte A et l'hôte C, l'hôte C ne peut se connecter qu'à l'hôte B et l'hôte D, et le dernier hôte D peut le faire connectez-vous uniquement à l'hôte-c.

La commande (sur l'hôte D) scp / home / utilisateur / fichier Hôte-A: / home / utilisateur / nouveau fichier Je vais essayer de créer un nouveau tunnel SSH entre les deux, ce qui n’est pas ce que je veux. Je souhaite que la chaîne de tunnel SSH existante recopie le fichier par le biais des hôtes précédents jusqu'à ce qu'il atteigne l'hôte A.

Comment puis-je faire ceci?

TrevorKS
la source

Réponses:

0

Vous pouvez réutiliser des connexions existantes. Utilisez soit le commutateur de ligne de commande -M, ou option de configuration (client) ControlMaster. Voir cette réponse sur StackOverflow pour plus de détails.

Je l'ai utilisé abondamment, combiné avec ControlPersist fermer la connexion seulement après un délai. Cela évite le temps de connexion que vous auriez normalement engagé et améliore considérablement les performances lorsque vous fermez et reconnectez plusieurs fois (comme je le fais souvent lors d'une utilisation interactive).

Notez que cela ne fonctionne pas très bien pour la connexion à certains hôtes - GitHub, par exemple - de sorte que vous devrez peut-être exclure explicitement certains hôtes de l'utilisation de cette option, si vous la configurez par défaut.

jpaugh
la source
1
Oh, et si la connexion se bloque, comme il arrive parfois, vous pouvez simplement supprimer le ControlMaster fichier pour la connexion et reconnectez-vous.
jpaugh