2017-07-18 2 views
0

Je transfère des ports pour que je puisse me connecter à un ordinateur portable jupyter fonctionnant sur un serveur visible uniquement par un autre ordinateur. J'ai ceci fonctionnant, mais je voudrais faire en sorte que ma session de ssh soit détachée de ma session de terminal que j'ai accomplie dans d'autres arrangements en utilisant l'option -f. C'est ce que je fais actuellement:Utilisation de ssh avec les options -t et -f

ssh -t [email protected] -L 8008:localhost:8009 'ssh -L 8009:localhost:8008 [email protected]' 

Cela me permet de vous connecter à se connecter à l'ordinateur portable jupyter fonctionnant sur le port 8008 sur host2 en se connectant à localhost: 8008 sur mon ordinateur local. Lorsque je tente d'utiliser l'option -f je reçois les erreurs suivantes:

Pseudo-terminal will not be allocated because stdin is not a terminal. 
Pseudo-terminal will not be allocated because stdin is not a terminal. 
Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,password). 

Alors, comment puis-je obtenir l'effet d'avoir -f en utilisant -t? Ou dois-je simplement avoir une session terminal connectée à host2?

+1

Votre question est mieux adaptée à [Super User] (http://superuser.com/tour). Ce site est pour la programmation des questions connexes. – Cyrus

Répondre

0

Le pseudo-terminal ne sera pas alloué car stdin n'est pas un terminal.

Vous devez utiliser -tt (Double -t), qui allouera ATS pour vous, même si vous retirez de votre terminal local.