覺得我們的內容實用嗎? MyApollo 電子報讀者募集中!歡迎訂閱電子報!
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 運作流程為:
- 檢查是否已經有
ssh-agent
正在運作 - 若沒有,則啟動之;若有,則找出其 sock 檔案路徑 ,然後設定
SSH_AGENT_PID
與SSH_AUTH_SOCK
2 個環境變數,如此一來就可以使用早已啟動過的ssh-agent
此外,可以依照需求自行在 script 添加 ssh-add
自動增加金鑰的指令。
以上!
覺得我們的內容實用嗎? MyApollo 電子報讀者募集中!歡迎訂閱電子報!