ssh代理转发
实验环境
serverA:172.16.2.116
serverB:172.16.2.225
serverC:172.16.2.115
- "代理转发"是针对ssh认证过程的一种转发
场景一、在serverA上操作,将ServerB上的文件,拷贝到ServerC上
直接使用scp root@172.16.2.225:/root/test1 root@172.16.2.115:/root/,需要输入serverC的密码。如何不用输入密码?
1、编辑ServerA的/etc/ssh/ssh_config配置文件
将ForwardAgent的值设置为yes,
2、
场景二、
你想通过家里的主机A连接到公司的主机C,但是,主机C位于公司办公网络的防火墙内,不能直接从互联网上访问,不过,公司为了提供访问入口,提供了一台堡垒机B,如果想要连接到公司内的主机,则需要通过堡垒机B作为跳板,你可以通过堡垒机B连接到主机C,为了增加安全性,公司不允许通过密码连接到主机C,只允许通过密钥认证的方式连接,同时,由于主机B暴露在互联网上,为了安全起见,公司不允许在主机B上存放任何私钥,因为万一主机B被攻破,存放在主机B上的私钥都会被窃取,那么在这种情况下,我们需要在主机A中通过主机B连接主机C,而且必须通过密钥认证的方式连接主机C,同时,主机B中又不能存放任何私钥,这时,我们就可以使用代理转发解决问题,我们只需生成一对密钥对,把公钥加入到主机C的authorized_keys中,同时,把对应私钥放置在主机A的ssh-agent中,并且在主机A中启动ssh客户端的代理转发功能,这样,我们就能在A中使用私钥,通过B进行代理转发,连接到公司的主机C中了。
ssh -t 172.16.2.225 ssh 172.16.2.115