緣起:
前幾天腦子在想一件事,就是能不能在同個區網內,用 A
電腦編輯跟查看程式文件,然後在 B 電腦上編譯、除錯、執行?問了 gpt (還
claude?),它說首選用 VS Code 的 Remote SSH Extension,再來是本地架個
gitea,在 A 寫完程式後 push,在 B 電腦上
pull,然後再做你想要的操作,最後一個方案是用 rsync
來同步兩台電腦的資料。
我是嘗試使用 VS Code 的 remote ssh extension,只要 B
電腦有裝 Remote-SSH 就好,在 A 電腦上的 VS Code 裝 Remote SSH
Extension,連上 B 電腦後它會自動下載
vscoder-server。在操作的過程中,我發現 AI 要我做一件事,就是在 A
電腦上生成一對 ssh 的金鑰,然後再把公鑰丢在 B 電腦上,之後用 ssh
連線時就不需要再輸入使用者密碼了。
哇 ~~ 我之前用 ssh
都是每次要輸入密碼,從沒想過要找看看有什麼不用輸入密碼的方式,有夠蠢的,現在發現這方法很像已知用火。
金鑰:
如果你的 A 電腦沒有生成過 ssh 的金鑰的話,可以用指令
ssh-keygen -t ed25519
來生成,那個 -t ed25519 是指定金鑰的類型為 Ed25519
這種橢圓苗線算法,執行後會在 A 電腦的 ~/.ssh/ 生成一個 id_ed25519 跟
id_ed25519.pub,pub 是公鑰。設定的話,一路按 Enter 就好。
然後用指令
ssh-copy-id <使用者>@<B電腦ip>
成功連上後,它就會把 pub 檔的內容加到 B 電腦的
~/.ssh/authorized_keys 裡,這樣下次登入時就不用再輸入密碼了。
如果 B 電腦的環境是跑在 Container
裡的,裡頭的帳號根本沒密碼,就要用其它的方式,直接在 B 電腦上手動把
pub key 貼進去
mkdir -p ~/.ssh
echo "ssh-ed25519 AAAA...你的公鑰" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
這樣就行了。
沒有留言:
張貼留言