centos 6.9 下測試:
ssh-agent是一個密鑰管理器,運行ssh-agent以后,使用ssh-add將私鑰交給ssh-agent保管。
eval `ssh-agent -s`
ssh-add
這兩條命令是把私鑰交給agent 管理。
如果本機A 192.168.1.2 可以通過秘鑰免密碼登錄B(192.168.1.3),C(192.168.1.4)兩個服務器,但B,C無法免密碼登錄,那么如果在A機器,執行這兩條命令,把A機器秘鑰交給ssh-agent 管理,那么從A登錄B 用
ssh -A root@192.168.1.3,在B機器的/tmp 目錄下就會看到/tmp/ssh-xxxxxxxxx/agent.xxxxx 類似這種形式的文件生成,然后你就可以在B機器免密碼登錄C機器了。
如果你登錄C機器的時候也帶了 -A 這個參數,那么你還可以從C 機器免密碼登錄另一台可以免密碼從A機器直接登錄的機器。
為了不必每次都打這兩個命令,可以在~/.bashrc 文件中加入
eval `ssh-agent -s` >> /dev/null ssh-add >>/dev/null
這兩行命令,保證開機默認執行。