2010-06-28 7 views
2

J'ai un curieux problème avec un petit script pour établir une connexion VNC avec un hôte distant. Le script crée simplement un tunnel SSH pour la session VNC, puis ouvre le visualiseur. Il ne s'agit que de deux lignes, et lorsqu'il est copié manuellement dans le shell, cela fonctionne très bien. Cependant, l'appel du script provoque le spectateur VNC à échouer avec cette erreur: main: unable to connect to host: Connection refused (111)VNC Bash Problème

Voici le scénario:

#!/bin/bash
ssh -N -L5903:localhost:5903 [email protected] &
vncviewer :3

La vie du tunnel tout au long du processus, de sorte que ce n'est pas le problème. Les autorisations ne sont pas non plus: la même erreur se produit lorsque le script est exécuté en tant que root. J'ai configuré l'authentification par clé publique, donc ce n'est pas que ssh demande un mot de passe.

Qu'est-ce qui me manque? Les commandes fonctionnent quand elles sont tapées dans le shell!

Merci d'avance.

Répondre

1

La commande vncviewer est probablement exécutée trop rapidement après la commande ssh. Essayez de mettre

sleep 3 

entre ces deux commandes pour permettre l'établissement de la redirection de port.

+0

C'était exactement ça. Merci! – bradreaves