2010-11-17 29 views
1

Je dois créer une connexion ssh entre deux machines Linux exécutant Centos v5 mais la latence peut atteindre 30 secondes. Je trouve que si je teste quelque chose d'approchant cette configuration artificiellement en simulant 7 secondes ou plus de latence en utilisant:Comment ssh face à l'énorme latence (30 secondes)?

tc qdisc add dev eth0 root netem delay 7s 

Lorsque je tente:

ssh -n -o ConnectTimeout=0 [email protected] whoami 

Il échoue après environ 1 min 23 sec avec:

Connection closed by 10.35.50.114 

Notez que ConnectTimeout = 0 signifie jamais expiration du délai. En outre, la simulation d'une latence de 6 secondes aboutit à un SSH réussi après environ 1 minute 32 secondes.

Y a-t-il quelque chose que je puisse faire pour que ssh fonctionne malgré la latence extrêmement élevée de Linux? Pourquoi ssh échoue à ce seuil

+0

'whoami' est supposé se terminer après la réponse. –

+0

/poignets est ce que je ferais. –

+0

@ J-16 SDiz Le whoami n'est pas pertinent à la question. Substituez toute commande que vous souhaitez invoquer à distance à sa place. – WilliamKF

Répondre

1

Avez-vous déjà essayé d'utiliser un écran? Quand j'ai une mauvaise connexion qui continue de me déconnecter, je m'assure de l'utiliser pour ne pas perdre ma session de terminal.

http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/

+0

'Écran' semble être une interface graphique. Comment passer une commande à 'screen' pour être évaluée à partir d'un script ou d'une application C++ sans interface graphique? L'écran – WilliamKF

+0

est un autre terminal auquel vous pouvez vous reconnecter. vous pouvez appeler des scripts comme n'importe quel autre terminal – wajiw