歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 使用ssh-agent

使用ssh-agent

日期:2017/3/1 16:34:59   编辑:關於Linux
使用ssh-agent ssh-agent是一種控制用來保存公鑰身份驗證所使用的私鑰的程序。ssh-agent在X會話或登錄會話之初啟動,所有其他窗口或程序則以客戶端程序的身份啟動並加入到ssh-agent程序中。通過使用環境變量,可定位代理並在登錄到其他使用ssh機器上時使用代理自動進行身份驗證。 www.2cto.com 其實ssh-agent就是一個密鑰管理器,運行ssh-agent以後,使用ssh-add將私鑰交給ssh-agent保管,其他程序需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程。通過使用ssh-agent就可以很方便的在不的主機間進行漫游了,假如我們手頭有三台server:host1、host2、host3且每台server上到保存了本機(supersun.biz)的公鑰,因此我可以通過公鑰認證登錄到每台主機: [[email protected] ~]#ssh host1 Last login: Thu Oct 18 13:56:08 2007 from supersun [root@host1 root]# [[email protected] ~]#ssh host2 Last login: Fri Oct 12 11:14:44 2007 from supersun [root@host2 root]# [[email protected] ~]#ssh host3 Last login: Sat Sep 29 10:21:32 2007 from supersun [root@host3 root]# 但是這三台server之間並沒有並沒有保存彼此的公鑰,而且我也不可能將自己的私鑰存放到server上(不安全),因此彼此之間沒有公鑰進 行認證(可以密碼認證,但是這樣慢,經常輸密碼,煩且密碼太多容易忘)。但是如果我們啟用ssh-agent,問題就可以迎刃而解了。 啟用ssh-agent: [[email protected] ~]#eval `ssh-agent ` Agent pid 3526 添加私鑰: [[email protected] ~]#ssh-add Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa) 編緝/etc/ssh/ssh_config文件:ForwardAgent yes 讓ssh-agent能轉發,這樣就可以這樣登陸了:supersun.biz---->host1---->host2,到此請注意,如果host1上沒有設定轉發的話就登不了host3了,設定了轉發後可以進一步跳到rs3上了。 [[email protected] ~]#ssh host1 Last login: Thu Oct 18 16:21:29 2007 from supersun [root@host1 root]# vi /etc/ssh/ssh_config [root@host1 root]# ssh host2 Last login: Thu Oct 18 16:20:28 2007 from supersun [root@host2 root]# ssh host3 Last login: Thu Oct 18 16:10:39 2007 from supersun [root@host3 root]# 到這裡基本上已經大功告成了,還有一個小問題那就是總不能每次都手動運行ssh-agent吧!最省時的方法就是將它寫到profile中去: 為了不把profile搞亂,我在在/etc/profile.d下建一個ssh-agent.sh文件: [[email protected] ~]#cat /etc/profile.d/ssh-agent.sh #!/bin/sh if [ -f ~/.agent.env ]; then . ~/.agent.env >/dev/null if ! kill -0 $SSH_AGENT_PID >/dev/null 2>&1; then echo "Stale agent file found. Spawning new agent..." eval `ssh-agent |tee ~/.agent.env` ssh-add fi else echo "Starting ssh-agent..." eval `ssh-agent |tee ~/.agent.env` ssh-add fi 這樣就不會生成太多的ssh-agent程序了,而且支持GUI環境。當我打開一個終端的話: Stale agent file found. Spawning new agent... Agent pid 2543 Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa) [[email protected] ~]# 添加了新的密鑰。
Copyright © Linux教程網 All Rights Reserved