PuTTY CAC 是 PuTTY 的一個分支,PuTTY 是一種受歡迎的安全外殼 (SSH) 終端。 PuTTY CAC 新增了使用Windows 憑證API (CAPI)、公鑰加密標準(PKCS) 程式庫或快速身分線上(FIDO) 金鑰的功能,以便使用與儲存在上的憑證關聯的私鑰來執行SSH 公鑰身份驗證。
PuTTY CAC 可與多種類型的加密令牌一起使用,例如 Yubikey 和流行的智慧卡模型。 「PuTTY CAC」中的「CAC」指的是通用存取卡,這是一種用於美國政府設施的智慧卡令牌,是 PuTTY CAC 開發的最初驅動力之一。
PuTTY CAC 由開源社群獨立於美國政府維護。
您可以在此處下載最新版本的 PuTTY CAC:https://github.com/NoMoreFood/putty-cac/releases
PuTTY CAC 原始碼和二進位檔案可免費用於任何目的。許可證可以在這裡找到:https://github.com/NoMoreFood/putty-cac/blob/master/code/LICENCE
您可以在「使用 PuTTY-CAC 的 SSH」部分找到有關使用美國政府 ID 管理網站的一組基本說明:
https://playbooks.idmanagement.gov/piv/engineer/ssh/
PuTTY CAC 支援與 PuTTY 相同的命令列選項,並專門針對 PuTTY CAC 提供了一些額外的專用選項。
您可以使用特定的憑證指紋或應用程式識別碼來取代任何 PuTTY 公用程式的 PuTTY 金鑰檔案路徑。例如:
putty.exe user@host -i CAPI:716B8B58D8F2C3A7F98F3F645161B1BF9818B689
putty.exe user@host -i PKCS:B8B58D8F2C3A7F98F3F645161B1BF9818B689716=C:PKCS.dll
putty.exe user@host -i FIDO:ssh:MyFidoKey
PuTTY 可執行檔(putty.exe、pageant.exe、psftp.exe)支援以下附加命令列選項。這些選項大多集中在 Pageant 的操作上,也可以從其使用者介面進行設定。一旦設置,這些選項將自動應用於後續執行,除非專門取消設定。過濾選美證書選擇對話方塊的設定也會影響標準 PuTTY 應用程式中的過濾器證書選擇對話方塊:
-autoload
、 -autoloadoff
-savecertlist
、 -savecertlistoff
-forcepincache
、 -forcepincacheoff
-certauthprompting
、 -certauthpromptingoff
-trustedcertsonly
、 -trustedcertsonlyoff
-ignoreexpiredcerts
、 -ignoreexpiredcertsoff
-allowanycert
、 -allowanycertoff
就 PuTTY CAC 而言,憑證只是引用私鑰/公鑰對的便捷方式。如果您想要使用 PuTTY CAC 安全地登入系統並且無權存取憑證授權單位 (CA),則可以對憑證進行自簽署。相反,PuTTY CAC 可以與託管 SSH 伺服器結合使用來實施多重身份驗證。這可以透過確保 OpenSSHauthorized_keys 檔案僅包含與硬體令牌關聯的公鑰來完成,無論是按程式還是透過建立所有已頒發憑證的索引並透過 OpenSSH 指令(如 AuthorizedKeysCommand)來尋找它們來完成。
用於與硬體令牌互動的特定程式碼利用 Microsoft 加密庫,而這些庫又受系統級 FIPS 設定控制(請參閱 Microsoft 網站)。同樣,如果硬體金鑰經過 FIPS 認證,則保證用於簽章身分驗證質詢的硬體令牌使用符合 FIPS 的演算法;有關詳細信息,請參閱硬體令牌的製造商網站。一旦建立 SSH 會話,PuTTY 本身就會使用專有的加密和雜湊,但尚未經過 FIPS 合規性或認證的評估。