SSH通过跳板机远程连接Jupyter

本地系统:windows系统(Linux mac之类应该也可以)
开启jupyter的远程目的主机系统:linux
跳板机系统:linux

适用场景举例:

我学校的实验室服务器是内网ip,我在外网用学校也经常访问不了,导致上面的运行的jupyter服务访问不到。但学校还另一台有公共ip的服务器我有账号可以访问并登录,这时就可以用这台有公网ip的服务器作为跳板机,实现对jupyter所在的目的主机的访问。

步骤:

  1. 直接打开cmd,
  2. 假设目的主机jupyter端口为8900,则
    输入“ssh -g -L 8900:目的主机ip:8900 跳板机用户名@跳板机ip”,
    回车然后输入跳板机用户对应的密码登录。
  3. 本地浏览器输入“localhost:8900”就可以访问目的主机的jupyter了。

其他说明:

  1. 这里使用的是ssh反向代理的功能,不懂的话具体原理可网上搜索学习。

  2. 如果想不想每次都输入这行,可以把这弄成一个vbs文件,双击就可以运行,甚至还可以添加到windows的任务,开机自启(开机自启其实不算很必要,想要试试的话,网上教程也很多,不再赘述)。

  3. vbs文件内容附录如下(使用的是模拟按键输入密码回车,所以加了些停顿,防止系统不识别,有时不好使,可以把停顿时间稍微改长点):
    文件内容里的ip、端口号、用户名、密码,大家记得改成自己的。

Dim WshShell 
Set WshShell=WScript.CreateObject("WScript.Shell") 
WshShell.Run "ssh -g -L 8900:10.12.13.192:8900 [email protected]" 
WScript.Sleep 200
WshShell.SendKeys "+"
WScript.Sleep 150
WshShell.SendKeys "password"
WScript.Sleep 150
WshShell.SendKeys "{ENTER}"

你可能感兴趣的:(技术文章,python,深度学习)