by Devin Yang

建立於: 3年前 ( 更新: 3年前 )

網路上好像有很多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

需要登入才可留言!

類似的文章


Laravel linux

我的行動電腦,安裝Laravel 8在Sony xperia 5 II上

這是我的第一隻Android手機,試裝Laravel完全沒問題耶,基本上我裝了vim及mariadb。 執行sshd後,可以透過8022登入哦,完全是一台行動電腦了:p。 我使用的軟體是Termux...

linux

公鑰驗證之多個ssh的組態檔

我們使用ssh公鑰驗證時,通常會在~/.ssh/config加入相關設定。 如果說有些是公司用的或是家裡用的,是否可以使用多個config呢? 其實可以的,我們能git透過Include載入公司共用,有版本控制的config。

linux

移除Ubuntu上舊版本用不到的Linux Kernel

這個頁面描述我如何移掉 ubuntu上佔空間的舊版本Linux Kernel。