不知道你有沒有遇到這樣的狀況,有二臺以上的服務器(服務器系統是windows的不要往下看)須要管理,若是說你有這種狀況,並且尚未用到 ssh-agent
的話,那麼這篇文章就是爲你而寫。vim
假如你有三臺服務器 s1.x.com s2.x.com s3.x.com,並且你都作好了登陸到每一臺機器的免密碼功能。就是經過本地機器直接運行 ssh sN.x.com
(注意:N)均可以鏈接到相應的服務器了,那麼問題就來了,若是你如今已經鏈接到 s1 這臺機器上,但願經過 s1 這臺機器直接連到 s2 這臺機器,而且不要輸入密碼,你測試了一下發現不行,爲何呢?由於 s1 和 s2 這兩臺機器沒有作免密碼登陸功能,雖然咱們能夠把本地的私鑰上傳到 s1 服務器上,讓它鏈接 s2 的時候就使用這個私鑰,可是這樣子作太危險了啊,若是有人進了你的系統,你整個內網都是能夠直接進入的,由於已經拿到了你的私鑰了嘛。ssh-agent
就是一個讓你不把私鑰上傳到服務器上,就能夠完成剛纔的功能的一個工具,讓你在這些服務器之間來去自如。windows
$ eval ssh-agent
Agent pid XXX服務器
$ ssh-add ~/.ssh/id_rsa (若是生成密鑰時是使用的默認的,那麼就是這個了,若是不是的話就寫你的私鑰地址吧)ssh
$ touch ~/.ssh/config
$ vim ~/.ssh/config
Host *
ForwardAgent yes工具
到每臺服務器上去按 step3 -> 全局,作一下。測試
如今你能夠經過本地鏈接到任意一臺服務器了,經過這臺服務器再任意的鏈接到其它的服務器,之後就能夠靜靜地享受這份快樂了!code