by Devin Yang

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

网络上好像有很多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

ubuntu找不到add-apt-repository命令

ubuntu找不到add-apt-repository命令

cli,linux,macos

如何用find删除创建时间为准的旧文件

这功能很好用,但要很小心,先看再删,弄错目录会死很惨 

linux

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

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