简单的SSH代理如何实现
需求场景
如上图所示
只有 主机A
可以访问 目标主机
, 主机B
或者其他外来主机都是无法访问目标主机的,而 主机B
是可以访问 主机A
的
造成这种问题的原因有很多中,例如 防火墙设置了策略
现在无法对目标主机的防火墙做策略更改,那要如何实现 主机B
对 目标主机 的ssh远程登录呢
解决办法
做ssh代理,通过主机A,访问目标主机
配置
前提
各个主机都需要安装openssh的客户端
主机B需要配置基于key的免密访问主机A
主机B配置
# 生成密钥
ssh-keygen
# copy公钥给主机A的admin用户
ssh-copy-id admin@10.0.0.2
ssh 方面的配置
在当前用户下的 .ssh
目录下创建 config
文件
vim .ssh/config
# 下面两个IP都是目标主机的IP
Host 192.168.1.2
HostName 192.168.1.2
# user也是目标主机的user
User root
# 端口是目标主机的端口
Port 22
# 下面是通过主机A的admin用户代理ssh命令
ProxyCommand ssh -q admin@10.0.0.2 -W [%h]:%p
多个IP就配置多组就好了
然后尝试使用ssh连接目标主机,就可以正常访问了
本文来自博客园,作者:厚礼蝎,转载请注明原文链接:https://www.cnblogs.com/guangdelw/p/17900922.html