本地机器 Google Colab 通过 SSH 连接远程服务器

1. 情景描述

我自己笔记本配置太垃圾,想要用学校的深度学习服务器在Colab上跑程序。

2. 环境描述

远程服务器 (Ubuntu):
  1. 用pip安装 jupyter notebook 以及 jupyter_http_over_ws 拓展包 (前提有python环境和pip)
pip install notebook
pip install jupyter_http_over_ws
jupyter serverextension enable --py jupyter_http_over_ws
  1. 安装并开启 ssh 服务
sudo apt-get install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

查看ssh服务是否正常运行:

sudo systemctl status ssh
  1. 需要一个账号,和IP地址
    假设账号名称是username。
    IP 地址可以通过 ifconfig 查到,这里假设为 192.168.0.1。
本地机器(笔记本):
  1. SSH 连接工具
    Mac OS 自带 SSH 连接, 只需要在terminal输入 ssh username@192.168.0.1 这里的账号和IP换成你自己的信息。

Windows SSH 的连接工具有很多,Putty, Xshell, Bitvise,这里就不赘述了。能够用SSH连上远程服务器就行。

  1. Google Colab
    能运行就行

3. 对接!

1. 在远程服务器上打开jupyter notebook, 并允许Colab 进行访问。

jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com'  --port=8888  --NotebookApp.port_retries=0

运行成功后,命令行会生成两个链接,格式类似于:

http://localhost:8888/?token=abc123

复制这个连接,之后要用。

2. 在本地机器上SSH连接服务器

# 将 <PORT> 替换为在上述步骤中选择的端口号 8888
# 将 <REMOTE_USER> 替换为远程服务器用户名 username
# 将 <REMOTE_HOST> 替换为您的远程服务器地址 192.168.0.1

ssh -L 8888:localhost:<PORT> <REMOTE_USER>@<REMOTE_HOST>

在我们的例子中即为

ssh -L 8888:localhost:8888 username@192.168.0.1

3. 打开Colab

选择local runtime.
在这里插入图片描述
输入第一步在远程服务器上生成的链接 http://localhost:8888/?token=abc123。(这里讨了个巧,将两台机器的端口设成一致的,就不用更换url了)

这时应该可以在本地colab使用远程服务器运行程序了。

REFERENCE

[1] https://www.cyberciti.biz/faq/ubuntu-linux-install-openssh-server/

[2] https://docs.anaconda.com/anaconda/user-guide/tasks/remote-jupyter-notebook/

[3] https://research.google.com/colaboratory/local-runtimes.html

以上。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值