Comment passer temporairement de ssh à mon shell local?

12

J'utilise cygwin. et utilisez-le avec ssh pour vous connecter à un serveur ubuntu. parfois, je veux revenir à mon cygwin puis passer rapidement au shell ubuntu. Comment faire ça?

Lovespring
la source

Réponses:

21

Vous pouvez mettre le client ssh en arrière-plan comme n'importe quel autre travail de shell en lui envoyant un signal et en revenant au shell parent. Étant donné que le client ssh intercepte la plupart des frappes de touches, il saisit les frappes de contrôle de travail de shell normales, mais vous pouvez attirer son attention et accéder au shell à l'aide d'une séquence d'échappement. Pour la plupart des clients ssh, cela implique d'envoyer un ~qui a été directement précédé d'une nouvelle ligne. La séquence suivante devrait faire le travail:

Enter ~ Ctrl+Z

Une fois suspendu, vous pouvez continuer à utiliser le shell local. Lorsque vous souhaitez revenir au travail suspendu, exécutez simplement la fgcommande.

Pour plus d'informations, recherchez Bash Job Control .

Caleb
la source
3
Agréable; me battre à elle. Pour plus de lecture, lancez man sshet recherchez "Caractères d'échappement", ou saisissez ~?une session ssh.
Jander
3

@ La réponse de Caleb est bonne, mais vous pouvez également envisager d'installer un multiplexeur de terminaux comme screenou tmux. Apparemment (selon ce que je peux trouver sur le Web) tmuxa eu quelques problèmes avec Cygwin dans le passé, mais je ne connais pas son état actuel.

Kusalananda
la source
2
Les deux tmuxet screenpeuvent certainement être utilisés pour résoudre le problème auquel l'OP est confronté, mais commencer avec un multiplexeur est un tas de trucs pour obtenir votre tête la première fois. Vous pourriez peut-être étendre cette réponse à un ensemble exact de commandes car tmuxcela permettrait à un nouveau venu de passer par le processus d'ouverture d'un terminal, de ssh'ing, de retour au shell principal, puis de l'attacher à nouveau ...
Caleb