ssh-agent 自動啟動

Posted on  May 7, 2017  in  SSH 設定  by  Amo Chen  ‐ 1 min read

ssh-agent 是用來管理 SSH 登入用的金鑰以及協助金鑰認證的代理程式,一般在有桌面 / X session 環境會是自動啟動的程式,不過如果是一般沒有桌面的伺服器環境,就需要手動啟動,如此不免麻煩。

於是稍微研究了一下如何在 .bashrc 內加入自動啟動 ssh-agent 的 script 。

主要 script 如下(可依需求自行修改):

SSH_AGENT_PID=`pgrep -U $USER -o 'ssh-agent'`
if [ -z $SSH_AGENT_PID ]; then
    eval $(ssh-agent -s)
    # ssh-add ~/.ssh/id_rsa
else
    SSH_AGENT_SOCK=`find /tmp -user $USER -path '*ssh*' -type s -iname 'agent.'$(($SSH_AGENT_PID-1)) 2>/dev/null`
    export SSH_AGENT_PID="$SSH_AGENT_PID"
    export SSH_AUTH_SOCK="$SSH_AGENT_SOCK"
fi

上述 script 運作流程為:

  1. 檢查是否已經有 ssh-agent 正在運作
  2. 若沒有,則啟動之;若有,則找出其 sock 檔案路徑 ,然後設定 SSH_AGENT_PIDSSH_AUTH_SOCK 2 個環境變數,如此一來就可以使用早已啟動過的 ssh-agent

此外,可以依照需求自行在 script 添加 ssh-add 自動增加金鑰的指令。

以上!

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!