使用SSH本地端口转发或MobaSSHTunnel访问远程服务器上的Jupyter Notebook
初始条件:安装jupyter notebook并设置密码。
1. 在远程服务器ubuntu上生成公钥和私钥
ssh-keygen -t rsa -b 4096

2. 设置相应的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

3. 将公钥id_rsa.pub添加到 ~/.ssh/authorized_keys 文件中
ssh-copy-id zitu-pc@192.168.100.234

4. 将私钥id_rsa下载到本地电脑

5. 修改文件权限

1) 点击“高级”,再点击“禁用继承”

2) 选择“将已继承的权限转换为此对象的显式权限”

3) 删除SYSTEM和Administrators

4) 点击“编辑”仅保留“读取和执行”和“读取”权限

5) 点击“确定”

6. 远程服务器Ubuntu启动jupyter notebook
jupyter notebook --no-browser --port 8889

第一种方式: SSH本地端口转发(SSH local port forwarding)
ssh -N -v -L localhost:8008:localhost:8889 -i D:\new\id_rsa zitu-pc@192.168.100.234
具体参数解释:
- -N: 表示不执行远程命令,在这种情况下,只进行端口转发而不打开远程Shell会话。
- -v: 表示启用详细模式,输出更多的调试信息,用于排查连接问题。
- -L localhost:8008:localhost:8889: 指定本地端口转发规则,将本地的 8008 端口转发到远程服务器的 8889 端口。这意味着,当本地计算机通过访问 localhost:8008 时,实际上是在访问远程服务器 192.168.100.234 的 localhost:8889 端口。
- -i D:\new\id_rsa: 指定用于身份验证的私钥文件路径。
- zitu-pc@192.168.100.234: 远程SSH服务器的用户名和服务器地址。


本地浏览器访问127.0.0.1:8008

第二种方式:使用mobaxterm的隧道功能(MobaSSHTunnel)

1. 新建隧道


注:SSH的端口默认是22,Remote server填127.0.0.1。
2. 导入私钥

3. 点击启动

4. 可以正常访问
