2017-03-16 46 views
0

我目前正在從不受信任的計算機上工作,我想使用ssh身份驗證從此(不可信)計算機提交/提交更改。我可以訪問我的私人計算機(可信)。這裏是我的設置內容摘要:從不受信任的計算機使用ssh私鑰

  • 的Git服務器訪問只使用ssh(不允許HTTPS驗證)
  • 可信計算機訪問到GIT服務器的SSH
  • 不可信計算機沒有訪問到git sever但訪問我的信任的計算機

你會在這種情況下做什麼? (我不能將文件從不受信任的計算機複製到受信任的計算機上,我希望這個項目的文件留在不受信任的計算機上,但如果我實際上不存儲它們,我可以將它們發送給受信任的計算機)。他們的主要想法是,我不希望其他人使用不受信任的計算機訪問我在git服務器上的其他項目。

回答

1

您可能會嘗試脫離使用您的可信計算機作爲SSH jump host

this manual

到SSH隧道的另一種通過網關訪問內部機器 使用跳躍主機。

想法是使用ProxyCommand在遠程主機上自動執行ssh命令 跳轉到下一個主機並轉發所有通信。

這應該需要在SSH客戶端周圍編寫一個包裝腳本並設置GIT_SSH env。變量指向它—看到 在git help git「環境變量」部分:

GIT_SSHGIT_SSH_COMMAND

如果這些環境變量被設置,那麼GIT中取和git推 將使用指定的命令而不是ssh,當他們需要 連接到遠程系統。該命令將給出恰好兩個 或四個參數:[email protected]從 URL和外殼命令到該遠程系統上執行(或只是host) 任選被-p(字面)之前和從URL當端口 它指定了除默認SSH端口以外的其他內容。

$GIT_SSH_COMMAND優先於$GIT_SSH, 並且由外殼,它允許包括附加的 參數解釋。另一方面,$GIT_SSH必須是 只是程序的路徑(如果需要其他參數,它可以是包裝程序外殼 腳本)。

通常通過 個人.ssh/config文件配置任何所需的選項更容易。請查閱您的ssh文檔獲取更多詳細信息, 。

(我beleive的SSH_COMMAND是一個相當最近除了Git的。)

+0

謝謝您的回答。我發現了另一種解決方案,可能不如你說的那麼安全,但是在我的設置中做了哪些工作。我只是使用由git服務器識別的私鑰,但我使用強密碼保護它以使其僅由我和其他用戶訪問。在這種情況下,您是否發現了其他威脅而非蠻力攻擊? – LucG