之前有详细介绍SSH密钥方式登录,SSH端口转发 ,以及X11转发,可点击如下原链接查看
结合下面拓扑图模拟演示并介绍SSH代理(ssh-agent)及SSH代理转发(agent-forwarding)功能
Server_A: 192.168.31.80
Server_B: 192.168.31.111/10.112.10.249 (双网卡)
Server_C: 10.112.10.250
从拓扑图上可以看出,由于Server_C与PC机IP网络层面上无法直接互通,若想SSH登录到Server_C,只能通过Server_B进行代理中转
需求如下:
1)PC机通过SecureCRT登录Server_A,要实现Server_A能SSH免密登录到Server_B,且不用输入passphrase密钥密码,这时需要Server_A通过ssh-keygen生成一对公钥与私钥,并将公钥拷贝到Server_B上
2)Server_A上SSH登录Server_C只能通过Server_B跳转,但是我又不想Server_B也通过ssh-keygen生成另外一对公钥与私钥(用于Server_B免密码登录登录Server_C),我想复用Server_A原先生成的那一对公钥与私钥,来实现免密码登录Server_C,这时需要将Server_A的公钥在Server_C上也保存一份
如何实现这两个需求呢?
第一个需求中会用到SSH代理(ssh-agent)功能
第二个需求实现需要用到SSH代理转发(agent-forwarding)功能
下面一步一步边动手边介绍相关基本概念
1、首先SecureCRT登录Server_A,ssh-keygen -t rsa并输入密钥密码passphrase