Ubuntu
通過 SSH 登錄時執行 ssh-agent 和 ssh-add 的直接方式?
當我通過 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 代理的服務轉發到遠端主機。
出於安全原因,您應該只對由值得信賴的人執行的主機使用代理轉發,但這比隨時遠端執行完整的代理要好。