by Devin Yang , 2 years ago

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

Login is required to leave comments

Similar Stories


dns

清除MacOS DNS快取方式

如何清除各種不同版本的MacOS DNS 快取的指令

nginx,dlaravel

如何設定nginx上的HTTPS,取得Qualys的SSL A+評分

本文介紹如何調整nginx的ssl設定,讓網站取得SSL報告,取得A+的評比。 這裡我使用的為 letsencrypt 免費憑證。 只要您使用D-Laravel預設的Docker官方nginx新版image,應該都可以達到跟我一樣的效果。 可透過下方檢測您的主機SSL設定。 https://www.ssllabs.com/ssltest/index.html

dlaravel

D-Laravel 釋出 v1.1.5

因應Laravel 5.5推出了,剛好php也出了php 7.0.23及php 7.1.9版了。 D-Laravel使用的fpm版本也進行更新囉...只要調整您的docker-compose所定義的版本 即可使用最新的php囉...