Ssh

繞過 ssh 密鑰文件權限檢查

  • April 12, 2021

我有一個加密的 FAT 卷(為了兼容性),其中包含一個私鑰文件和其他敏感數據。

我想使用我的私鑰通過 SSH 連接到我的伺服器,但是當然,由於 FAT 不支持文件權限,它會忽略我的密鑰,說它的權限太開放了。

因此,目前我正在使用 0600 權限將其複製到硬碟驅動器上的其他位置,使用它然後安全地擦除它,但這很痛苦。

有沒有辦法繞過這個 ssh/scp 命令行上的權限檢查?

編輯:精度:它是 OS X 上的 TrueCrypt 卷。

**關於解決方案:**下面接受的答案解決了我的問題(使用位於 Mac OS X 的 TrueCrypt 卷上的 SSH 密鑰文件),但這是一種解決方法。看起來沒有辦法“繞過密鑰文件權限檢查”。

AFAIK,沒有辦法用 ssh 或 ssh-add 繞過密鑰文件權限檢查(你不能用命名管道等來欺騙它)。此外,您實際上並不想欺騙 ssh,而只是為了能夠使用您的密鑰文件。

事實上,TrueCrypt 卷應該讓您的數據保持私密,因此將捲安裝為世界可讀(TrueCrypt 的預設行為)並不是真正的最佳選擇。如果你使用的是 FAT 格式的捲,你真的應該調整掛載選項,正如 Dan Carley 建議的那樣。

儘管 TrueCrypt for OS X 尚未正確支持掛載選項(即使您使用命令行界面和手冊頁中的掛載選項啟動 TC - 已經嘗試過),OS X 確實支持基於卷名的掛載選項預設值.

您需要知道您的使用者 ID(如果您是電腦的第一個/唯一使用者,通常是 501)。你可以用“id -u”得到它。

假設您的捲名是“PRIVATE”(卷名是大寫的),並且您的 uid 是 501,您所要做的就是將此行添加到 /etc/fstab :

LABEL=PRIVATE none msdos -u=501,-m=700

您需要是 root 才能創建/編輯此文件(預設 OSX 安裝中不存在該文件):

sudo vim /etc/fstab

下次掛載該卷時,它將擁有權限 700 和所有者 ID 501。

這也適用於 USB 驅動器(通常也以 FAT 格式格式化)。

引用自:https://serverfault.com/questions/81746