J'ai trois ordinateurs.
PC1 et PC2 se trouvent sur un réseau local privé, où PC1 est connu de PC2 comme192.168.0.2
PC2 et PC3 se trouvent sur un autre LAN, où PC2 est connu de PC3 comme192.168.123.101
Comment puis-je me connecter à PC1 à partir de PC3 avec SSH.
Y a-t-il quelque chose comme:
ssh [email protected] -via [email protected]
En utilisant SSH, il existe une solution claire:
sur votre ordinateur local, configurez votre
~/.ssh/config
ordinateur de sorte qu'il présente les éléments suivants:Sur la passerelle et le serveur final auquel vous souhaitez vous connecter, assurez-vous que les clés publiques de votre client local se trouvent dans le
~/.ssh/authorized_keys
Sur la machine passerelle, vous devez modifier le
~/.ssh/authorized_keys
tel qu'au début de la ligne qui spécifie la clé publique de votre client, ajoutez la commande forcée comme suit:C'est
-A
de transférer l'agent si vous n'aimez pas envoyer des mots de passe tout le temps ...De cette façon, chaque fois que vous faites quelque chose comme
ssh WhatYouWillCallTheConnection
ça, il passera directement par la passerelle et vous connectera au serveur de l'autre côté de manière transparente.la source
ssh -A
si vous ne faites pas confiance à l'administrateur de la machine passerelle. Il ne peut pas obtenir votre clé privée, mais tant que vous êtes connecté à la passerellessh -A
, il peut utiliser l'agent transféré pour se connecter à d'autres machines comme vous.La redirection de port peut être utile.
Depuis PC1:
7777 peut être n'importe quel port (à condition qu'il ne soit pas déjà utilisé). J'aime juste ce numéro, plus toute "commande" que je peux gérer par +1 (7778, 7779, etc, etc).
Ceci étant fait, vous aurez un tunnel «transparent» du port local 7777 de PC1 au port 22. de PC3.
Et vous devriez être sur PC3.
Vous pouvez également utiliser -D pour transférer dynamiquement un port si vous souhaitez qu'un proxy SOCKS soit établi.
À votre santé!
la source
La réponse 2017+ (depuis ssh v7.3) à ceci est ProxyJump :
ssh -J user@jumphost user@destination
, qui est l'abréviation de:
ssh -o "ProxyJump user@jumphost" user@destination
Cela peut être raccourci
ssh dest
avec un~/.ssh/config
extrait en tant que tel:la source
La seule solution que je connaisse est le script ssh avec Belier :
Il y a quelque temps, j'ai trouvé ce fichier README.sshhop sur la page d'accueil du MIT Lincoln Laboratory, mais je n'ai pas pu trouver plus d'informations à ce sujet. Quelqu'un en sait-il plus?
la source