Ssh-Keys
使用相同的 SSH 密鑰連接到遠端伺服器並從該伺服器推送到 GitHub
我已經生成了一個 SSH 密鑰對來登錄到我的遠端伺服器。我還在GitHub 中添加了相同的公鑰。所以從我自己的機器上,我可以通過 SSH 訪問 GitHub:
嗨,哈多夫!您已成功通過身份驗證,但 GitHub 不提供 shell 訪問權限。與 github.com 的連接已關閉。
這意味著我可以在本地機器上的 GitHub 帳戶中複製私有儲存庫。
由於我使用相同的密鑰對 GitHub和我的伺服器進行身份驗證,是否可以使用相同的密鑰在伺服器上複製 repo ,同時對其進行 SSH 編輯?如果我嘗試這樣做,我會得到:
git@github.com:權限被拒絕(公鑰)。
這是有道理的,因為我在遠端伺服器上沒有私鑰——它在我的本地機器上。但是由於我首先使用該密鑰連接到伺服器,所以我已經證明我擁有它,所以我不應該能夠從回購中提取嗎?
是的,我可以將我的私鑰複製到伺服器上,但是通過網際網路傳輸它對我來說聽起來是個壞主意。或者也許首先在多個地方使用相同的密鑰進行身份驗證是更大的問題?我應該只有單獨的鑰匙嗎?
您正在尋找的可能是:
- 在您的 ssh 客戶端機器上執行 ssh 身份驗證代理 (ssh-agent);
- 並將 ssh 代理連接轉發到伺服器(-A 命令行或 ForwardAgent 配置文件選項)。
這樣,您將能夠使用伺服器上本地主機上的密鑰,而無需將它們物理複製到那裡。