當(dāng)前位置:首頁 > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

Linux之ssh-agent命令
2021-09-05 09:16:03

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

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

我們認(rèn)為你正在用ssh key做權(quán)限認(rèn)證。為了避免你在啟動(dòng)ssh agent時(shí)重復(fù)輸入密碼,你可以輸下面兩個(gè)命令
ssh-agent bash:啟動(dòng)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

命令選項(xiàng)

  • -a bind_address:bind the agent to the UNIX-domain socket bind_address.
  • -c:生成C-shell風(fēng)格的命令輸出。
  • -d:調(diào)試模式。
  • -k:把ssh-agent進(jìn)程殺掉。
  • -s:生成Bourne shell 風(fēng)格的命令輸出。
  • -t life:設(shè)置默認(rèn)值添加到代理人的身份最大壽命。

運(yùn)行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;

運(yùn)行ssh-agent,它會(huì)打印出來它使用的環(huán)境和變量。

使用-d參數(shù),運(yùn)行調(diào)試模式

> ssh-agent -d

使用-k參數(shù)殺掉ssh-agent進(jìn)程

> ssh-agent -k

ssh-agent的使用場景

使用不同的密鑰連接到不同的主機(jī)時(shí),需要手動(dòng)指定對應(yīng)的密鑰。ssh-agent 可以幫助我們選擇對應(yīng)的密鑰進(jìn)行認(rèn)證,不用手動(dòng)指定密鑰即可進(jìn)行連接。

當(dāng)私鑰設(shè)置了密碼,我們又需要頻繁的使用私鑰進(jìn)行認(rèn)證時(shí),ssh-agent 可以幫助我們免去重復(fù)的輸入密碼的操作。

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

本文摘自 :https://blog.51cto.com/u

開通會(huì)員,享受整站包年服務(wù)立即開通 >