Linux之ssh-agent命令


ssh密鑰管理器,ssh-agent命令是一種控制用來保存公鑰身份驗證所使用的私鑰的程序。ssh-agent在X會話或登錄會話之初啟動,所有其他窗口或程序則以客戶端程序的身份啟動並加入到ssh-agent程序中。通過使用環境變量,可定位代理並在登錄到其他使用ssh機器上時使用代理自動進行身份驗證。

其實ssh-agent就是一個密鑰管理器,運行ssh-agent以后,使用ssh-add將私鑰交給ssh-agent保管,其他程序需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程。

我們認為你正在用ssh key做權限認證。為了避免你在啟動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:調試模式。
  • -k:把ssh-agent進程殺掉。
  • -s:生成Bourne shell 風格的命令輸出。
  • -t life:設置默認值添加到代理人的身份最大壽命。

運行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,它會打印出來它使用的環境和變量。

使用-d參數,運行調試模式

> ssh-agent -d

使用-k參數殺掉ssh-agent進程

> ssh-agent -k

ssh-agent的使用場景

使用不同的密鑰連接到不同的主機時,需要手動指定對應的密鑰。ssh-agent 可以幫助我們選擇對應的密鑰進行認證,不用手動指定密鑰即可進行連接。

當私鑰設置了密碼,我們又需要頻繁的使用私鑰進行認證時,ssh-agent 可以幫助我們免去重復的輸入密碼的操作。

原文鏈接:https://rumenz.com/rumenbiji/linux-ssh-agent.html
微信公眾號:入門小站


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM