ssh密鑰管理器,ssh-agent命令是一種控制用來保存公鑰身份驗證所使用的私鑰的程序。ssh-agent在X會話或登錄會話之初啟動,所有其他窗口或程序則以客戶端程序的身份啟動并加入到ssh-agent程序中。通過使用環(huán)境變量,可定位代理并在登錄到其他使用ssh機器上時使用代理自動進行身份驗證。
其實ssh-agent就是一個密鑰管理器,運行ssh-agent以后,使用ssh-add將私鑰交給ssh-agent保管,其他程序需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程。
我們認為你正在用ssh key做權(quán)限認證。為了避免你在啟動ssh agent時重復輸入密碼,你可以輸下面兩個命令
ssh-agent bash
:啟動ssh agent,并把bash掛到上面ssh-add .ssh/id_rsa
:添加私鑰并由ssh agent保管,這樣下次就不需要再輸入密碼了
命令語法
ssh-agent [-c | -s] [-d] [-a bind_address] [-t life] [command [arg ...]]
ssh-agent [-c | -s] -k
命令選項
- -a bind_address:bind the agent to the UNIX-domain socket bind_address.
- -c:生成C-shell風格的命令輸出。
- -d:調(diào)試模式。
- -k:把ssh-agent進程殺掉。
- -s:生成Bourne shell 風格的命令輸出。
- -t life:設(shè)置默認值添加到代理人的身份最大壽命。
運行ssh-agent
> ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-lWA15nOUhcYG/agent.26310; export SSH_AUTH_SOCK;
SSH_AGENT_PID=26315; export SSH_AGENT_PID;
echo Agent pid 26315;
運行ssh-agent,它會打印出來它使用的環(huán)境和變量。
使用-d參數(shù),運行調(diào)試模式
> ssh-agent -d
使用-k參數(shù)殺掉ssh-agent進程
> ssh-agent -k
ssh-agent
的使用場景
使用不同的密鑰連接到不同的主機時,需要手動指定對應(yīng)的密鑰。ssh-agent 可以幫助我們選擇對應(yīng)的密鑰進行認證,不用手動指定密鑰即可進行連接。
當私鑰設(shè)置了密碼,我們又需要頻繁的使用私鑰進行認證時,ssh-agent 可以幫助我們免去重復的輸入密碼的操作。
原文鏈接:https://rumenz.com/rumenbiji/linux-ssh-agent.html
微信公眾號:入門小站
本文摘自 :https://blog.51cto.com/u