by Devin Yang

建立于: 4年前 ( 更新: 4年前 )

网络上好像有很多colab ssh介绍。
这里我介绍,我用自己的连线方式,透过自己写的bash连线到colab。

如何做到的,概念上很简单,

这支bash会在colab的VM上安装OpenSSH Server,
并且随机生成自己的OpenSSH的公密钥匙对(SSH key pairs)。

然后,透过这支bash,我们也提供自己主机的连线信息给他,
主机的「使用者名称」、「主机位置]及「要创建ssh通道的连接埠」,跟我们自己的「OpenSSH公钥」。

这支bash能把我们提供的公钥添加到colab的 /root/.ssh/authorized_keys ,
让我们取得登录colab root VM的权限。

然后colab vm上,也会提供他随机的生成公钥(/root/.ssh/authorized_keys)给我们,
将他加到我们主机的${HOME}/.ssh/authorzed_keys内,让colab有权限连到我们的主机,

因此在Colab上运行的这只Bash就可以帮我们创建VM与我们主机的SSH通道罗。

当加密的通道创建完成,我们便可穿透防火墙,
登录到colab的VM啦。



看看Demo吧。

免费的GPU,拿来跑Python真棒。:D
我的 colab_ssh Github。

附注: 如果断线了,使用的是相同的连接埠,您可能需要删除旧有的通道,或换一个连接埠。
您也可以使用GitHub中的clear_all_tunnels.sh清掉自已电脑中所有没用的连线。




测试中,贴到浏览器的console,自动定时点击,防止断线用.
function ClickConnect(){
console.log("Working"); 
document.querySelector("colab-toolbar-button#connect").click() 
}
setInterval(ClickConnect,60000)

Tags: linux python colab

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


linux

公钥验证之多个ssh的组态档

我们使用ssh公钥验证时,通常会在~/.ssh/config添加相关设置。 如果说有些是公司用的或是家里用的,是否可以使用多个config呢? 其实可以的,我们能git透过Include加载公司共用,有版本控制的config。

linux

旧版CentOS 6.2编译git过程

本文使用的CentOS 6.2进行,进行重build curl及git过程。 主因是因为作业系统太旧,我直接由source build最新版本的git。

linux,system,config

修正CentOS6.x无法再更新的问题

有些地方或许还存在一些老旧进程,只能跑旧的系统。但又希望能运行及安装一些想要的包,您或许可以试这招请注意,如果这个系统对您很重要,请自行评估,建议您是Docker环境,并且有备份了image才可尝试。