ssh-agent 使用指南

不知道你有沒有遇到這樣的狀況,有二臺以上的服務器(服務器系統是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

step1. 開啓 ssh-agent

$ eval ssh-agent
Agent pid XXX服務器

step2. 添加私鑰

$ ssh-add ~/.ssh/id_rsa (若是生成密鑰時是使用的默認的,那麼就是這個了,若是不是的話就寫你的私鑰地址吧)ssh

step3. 告訴ssh 容許 ssh-agent 轉發

  • 修改全局:$ echo "ForwardAgent yes" >> /etc/ssh/ssh_config
  • 修改我的

$ touch ~/.ssh/config
$ vim ~/.ssh/config
Host *
  ForwardAgent yes工具

step4. 修改每臺服務器的 ssh 配置文件,讓它們都對 ssh-agent 進行轉發

到每臺服務器上去按 step3 -> 全局,作一下。測試

如今你能夠經過本地鏈接到任意一臺服務器了,經過這臺服務器再任意的鏈接到其它的服務器,之後就能夠靜靜地享受這份快樂了!code

相關文章
相關標籤/搜索