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

posted @ 2018-03-01 19:12  fanren224  阅读(113)  评论(0编辑  收藏  举报