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, mac, terminal, tips

再Linux或Mac的终端机如何清除目前的命令行的输入?

再Linux或Mac的终端机如何清除目前的命令行? 例如打错了一堆命令,打错了想清除从打, 千万要跟我以前一样,用倒退键慢慢杀了,我们可以用......

linux

如何检查apache加载并激活了那些modules?

如何检查apache加载并激活了那些modules?

linux

rsync回传的错误码

这里列出所有的rsync错误码,因此在调度中,我们可以了解失败的原因。