Ubuntu

通過 SSH 登錄時執行 ssh-agent 和 ssh-add 的直接方式?

  • December 28, 2021

當我通過 ssh 登錄到我的伺服器時,我試圖讓以下命令自動執行:

ssh-agent /bin/bash
ssh-add ~/.ssh/id_rsa

我的 ssh 密鑰有一個密碼,每次登錄一次就可以了。

我嘗試將它放在我的 .bashrc 文件中,但是我相信 ssh-agent 會啟動一個新的 bash 會話。當我在 .bashrc 中有此內容後嘗試登錄時,它卡住了,我必須輸入“退出”才能看到“輸入密碼以解鎖密鑰”提示

還有其他建議嗎?

伺服器正在執行 Ubuntu LTS

您可以嘗試添加以下內容:

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

這種方式ssh-agent不會啟動一個新的 shell,它只是在後台啟動自己並吐出 shell 命令來設置適當的環境變數。

正如評論中所說,也許您根本不想在遠端主機上執行代理,而是在您正在使用的機器上執行代理,並使用

ssh -A remote-host

將本地 ssh 代理的服務轉發到遠端主機。

出於安全原因,您應該只對由值得信賴的人執行的主機使用代理轉發,但這比隨時遠端執行完整的代理要好。

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