Ssh

在系統啟動時執行 SSH SOCKS5 代理

  • May 30, 2015

我想設置一個 linux 伺服器(在本例中為 Ubuntu Server 14.04),以供另一個客戶端上的軟體用作 SOCKS5 代理。

現在這很容易ssh -f -N -D 0.0.0.0:1080 localhost按照本指南的說明執行。這完美地工作。

現在指南沒有告訴我如何在系統啟動時自動啟動代理?僅輸入此命令rc.local不起作用,因為我必須提供密碼。生成 ssh 密鑰ssh-keygen並將其放入/root/.ssh/也不起作用。

請注意,我並不真正了解整個 ssh 公鑰是如何工作的,所以我的錯誤可能就在那裡。當我的公鑰應該用於本地客戶端而不是遠端客戶端時,我需要做些什麼特別的事情?

我通過ssh-keygen作為 root 使用者(不是 sudo)執行來解決這個問題,沒有為密鑰指定任何名稱(例如使用預設名稱和位置)並且沒有提供任何密碼。然後我確保所有文件的權限/root/.ssh都設置為 600,.ssh文件夾設置為 700。

然後只需將問題中的命令添加到您的 /etc/rc.local 即可執行代理,您就完成了。據我了解,在這種情況下沒有密碼不是安全風險,因為公鑰和私鑰僅位於本地電腦的根文件夾中。

引用自:https://unix.stackexchange.com/questions/147741