将ssh与-t和-f选项一起使用

时间:2017-07-18 18:15:00

标签: ssh ssh-tunnel

我正在转发端口,以便我可以连接到只在另一台计算机上可见的服务器上运行的jupyter笔记本。我有这个工作,但我想这样做,所以我的ssh会话与我的终端会话分离,我已使用-f选项在其他设置中实现。这就是我目前所做的事情:

ssh -t user@host1 -L 8008:localhost:8009 'ssh -L 8009:localhost:8008 user@host2'

这允许我通过连接到本地计算机上的localhost:8008连接到连接到host2上端口8008上运行的jupyter笔记本。当我尝试使用-f选项时,出现以下错误:

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).

那么在使用-t时如何实现-f的效果呢?或者我只需要登录到host2的终端会话?

1 个答案:

答案 0 :(得分:0)

  

由于stdin不是终端,因此不会分配伪终端。

您需要使用-tt(双-t),即使您从本地终端分离,也会为您分配TTY。