我正在转发端口,以便我可以连接到只在另一台计算机上可见的服务器上运行的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的终端会话?
答案 0 :(得分:0)
由于stdin不是终端,因此不会分配伪终端。
您需要使用-tt
(双-t
),即使您从本地终端分离,也会为您分配TTY。