我想知道我是否可以通过ssh两次远程使用ipython Notebook。
场景是:机器B是我要运行ipython Notebook的机器。但是,只允许我首先通过另一个服务器(机器A)访问机器B。
有一些关于远程使用ipython Notebook的教程,但是都没有提到我遇到的情况。

提前致谢 !

最佳答案

假设您指的是ssh隧道传输,并且ipython笔记本在计算机B的端口1234上进行服务器处理:

如果机器A可以在任何端口上访问机器B,则可以将机器A设置为通过SSH将远程端口转发给您:

ssh -L 9999:machineB.com:1234 -N machineA.com

这说



但是,如果机器A只能通过ssh访问机器B,那么您将需要创建两个隧道。一个从客户端PC到machineA,另一个从machineA到machineB。为此,这两个隧道连接到machineA上的本地端口而不是远程端口:
ssh -L 9999:localhost:8888 machineA.com ssh -L 8888:localhost:1234 -N machineB.com

这说



现在,在后台运行该命令的情况下,连接到本地PC端口9999。第一个ssh隧道会将请求转发到连接到localhost:8888的machineA上,第二个ssh隧道然后将其转发到连接到localhost的machineB上本地主机:1234。

请注意,machineA必须能够自动连接到machineB(使用公共(public)/专用 key 身份验证),才能在单个命令中工作。

这是一篇很好地解释ssh隧道的文章https://superuser.com/questions/96489/ssh-tunnel-via-multiple-hops

关于python - 通过ssh隧道远程运行ipython笔记本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22518489/

10-16 20:36