使用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. 可以正常访问