web-dev-qa-db-fra.com

apt-get install via un proxy tunnel mais ssh uniquement du côté client

Alors ... c'est mon problème:

Je peux accéder à un VPN depuis ma machine. Je peux accéder à un serveur du VPN via SSH, mais cette machine n’a aucun accès car un pare-feu bloque les connexions ssh inversées. Je ne peux donc pas utiliser Internet via tunnel pour utiliser apt-get.

 Lan configuration

Comment puis-je imiter:

Sudo ssh -D 9999 root@<machineoutsidevpn>

Mais de l'extérieur du VPN. Ou un moyen d'utiliser la connexion Internet pour installer des packages?

8
rasputino

Installer:

Ordinateur a

  • A accès à Internet
  • A accès à l'ordinateur B
  • SSH est installé

Ordinateur b

  • N'a pas accès à Internet
  • OpenSSH Server est installé

Pas:

  1. sSH dans l'ordinateur B à partir de ordinateur A

    Sudo ssh -R <selected port>:us.archive.ubuntu.com:80 [email protected]
    
  2. Modifiez le /etc/apt/apt.conf de l'ordinateur B pour inclure les lignes suivantes:

    Acquire::http::Proxy "http://localhost:<selected port>";
    Acquire::https::Proxy "https://localhost:<selected port>";
    
  3. Exécutez votre apt-get update ou install ou upgrade sur l’ordinateur B et cela devrait fonctionner.


Quelques notes:

  • VousDEVEZgarder la session d'origine de ssh de l'ordinateur A à l'ordinateur B tout en utilisant l'ordinateur B pour accéder aux référentiels apt-get.
  • Vous NE devez PAS utiliser la même connexion SSH pour utiliser le tunnel (si vous avez plusieurs connexions SSH sur l'ordinateur B, elles devraient toutes fonctionner).

Utiliser PuTTY

Ceci peut également être réalisé en utilisant PuTTY (en supposant que l’ordinateur A est la machine Windows).

  1. Lorsque vous démarrez la session, sélectionnez SSH -> Tunnels
  2. Port source: <selected port>
  3. Destination: us.archive.ubuntu.com:80
  4. Sélectionnez le bouton radio "Remote"
  5. Sélectionnez le bouton "Ajouter"
  6. Configurez votre session comme vous le feriez normalement.
  7. Suivez les étapes 2 et 3 ci-dessus
26
James Mertz

Une option serait d'activer le tunneling SSH. Cela vous permet d’exécuter une session SSH dans un autre protocole, cette option vous permet de contourner le pare-feu en lui faisant croire que la connexion entrante est en fait une réponse du port 80 au lieu du port 21. Un exemple est donné plus bas. à votre goût.

ssh -L 9000: serverIpAddress: 80 [email protected]

Bonne chance!

0
G_G