31 votes

Comment ajouter un paramètre de transfert local à mon fichier de configuration ssh ?

Je peux actuellement le faire :

ssh 12.34.56.78 -L 8888:localhost:8000

Je peux alors ouvrir mon navigateur local sur localhost:8888 et voir l'application s'exécuter sur mon serveur à 12.34.56.78:8000.

Je veux éviter d'avoir à taper cette commande et placer cette configuration dans mon fichier de configuration ssh.

Actuellement, j'ai ceci :

Host myhost
    User myuser
    Hostname 12.34.56.78
    IdentityFile ~/.ssh/id_rsa
    LocalForward 8888 12.34.56.78:8000

Je pensais que cela fonctionnerait de la même manière, mais lorsque je me connecte en ssh à myhost comme je le fais habituellement, puis j'essaie d'ouvrir mon navigateur sur localhost:8888, je ne vois plus l'application fonctionner et j'obtiens ces messages dans la console de myhost :

channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused

Je suppose que je peux simplement ajouter un alias pour exécuter la commande ssh et en finir avec cela, mais j'espérais que cela soit correctement configuré dans mon fichier de configuration, et si le fait de pouvoir voir mon application fonctionner dans mon navigateur sans avoir à se connecter en ssh à mon hôte peut être réalisé, cela pourrait être un énorme avantage.

Quelqu'un peut-il nous aider ?

37voto

dorinand Points 141

Je pense que vous avez défini différemment la commande et la configuration. Dans command, vous utilisez localhost et dans la configuration, l'adresse IP ( 12.34.56.78 ). Cela devrait fonctionner pour vous :

Host myhost
    User myuser
    Hostname 12.34.56.78
    IdentityFile ~/.ssh/id_rsa
    LocalForward 8888 127.0.0.1:8000

Vous pouvez aussi essayer de remplacer 127.0.0.1 avec localhost Je pense que cela devrait fonctionner aussi.

13voto

Martin Points 1688

La syntaxe du fichier ssh_config était correcte - l'erreur devait donc se trouver ailleurs. La ligne de commande qui a fonctionné est la suivante

ssh 12.34.56.78 -L 8888:localhost:8000

mais dans le LocalForward vous avez utilisé la "vraie" adresse IP. Manifestement, l'application n'a fait qu'écouter localhost - soit vous changez l'interface d'écoute dans l'application, soit vous adaptez le fichier ssh_config pour utiliser localhost également.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X