是否可以在 Linux 上設定 VPN 伺服器,以便透過 Android 和 Windows 用戶端針對 PAM 或 passwd 進行身份驗證?

是否可以在 Linux 上設定 VPN 伺服器,以便透過 Android 和 Windows 用戶端針對 PAM 或 passwd 進行身份驗證?

我有一台 Linux 伺服器,需要從 Windows 10 和 Android 用戶端遠端連接到其網路。是否可以設定伺服器,以便用戶端可以使用使用者名稱和密碼對 Linux 電腦上的使用者帳戶進行身份驗證?

我想為此使用 IKEv2,但如果有更好的解決方案,則沒有必要。我已經嘗試設定 StrongSwan 並成功使用客戶端憑證。我還設法讓 freeRadius 對 /etc/passwd 進行身份驗證,但無法取得從 StrongSwan 傳遞到 freeRadius 的使用者名稱和密碼。這是正確的做法嗎?

如果/當提出建議時,我會更新這個問題。

答案1

問題是大多數使用使用者名稱/密碼的 EAP 方法不會傳送明文密碼。相反,他們使用某種質詢/回應協議,並由客戶端和伺服器計算一些雜湊/加密,這通常要求伺服器已經擁有明文密碼(除非該方法基於零知識密碼證明),而不是雜湊它的版本儲存在/etc/passwd.

StrongSwan 支援的唯一使用明文密碼的方法是EAP-GTC,但客戶端支援有限(我也不知道它是否可以與 FreeRADIUS 一起使用,但 StrongSwan 可以直接與 PAM 互動)。基本上,只有strongSwan使用這種方式,因此帶有strongSwan應用程式的Android可以正常工作,但Windows不支援這種方法。

相關內容