首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过特定接口的Ssh客户端

通过特定接口的Ssh客户端
EN

Stack Overflow用户
提问于 2012-09-04 16:42:52
回答 3查看 20.3K关注 0票数 5

如何强制客户端连接ssh通过特定接口进行通信?

我有一个带有eth0和eth1的服务器,我想强制所有的ssh客户端通过eth0。因此,当我的服务器上有很多eth1客户端时,我可以更快地通过ssh访问我的服务器。

Edit :它是发起ssh客户端连接的服务器。

EN

回答 3

Stack Overflow用户

发布于 2014-11-19 17:00:14

Update OPs edit请求服务器端解决方案-这就是客户端。对于临时使用,您可以从特定IP或以太网端口将选项绑定到SSH。ssh target_IP -b source_IP

要获得更持久的解决方案,请更改路由表。

我可以尝试ssh从172.x.x.7 (eth0)进入172.x.x.69,它有另一个以太网端口172.x.x.8 (eth1),恰好是默认网关。

如果我尝试直接ssh会失败-因为此源IP缺省为x.8 eth1,而这在.69的外部防火墙规则中是不允许的

代码语言:javascript
运行
复制
# ssh 172.29.179.69 -l root
ssh: connect to host 172.x.x.69 port 22: Connection timed out
#

当我使用-b开关将SSH绑定到x.7IP (eth0)时成功-此IP在防火墙规则中被允许连接到.69。

代码语言:javascript
运行
复制
# ssh 172.x.x.69 -b 172.x.x.7 -l root
Last login: Wed Nov 19 14:27:44 2014 from 172.x.x.7
#

在172.x.x.7,我有两个以太网端口x.7和x.8

代码语言:javascript
运行
复制
# ifconfig 
eth0      Link encap:Ethernet  HWaddr xxxxx
          inet addr:172.x.x.7  Bcast:172.x.x.31  Mask:255.255.255.224
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27678 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1852058 (1.7 MiB)  TX bytes:684 (684.0 b)

eth1      Link encap:Ethernet  HWaddr xxx
          inet addr:172.x.x.8  Bcast:172.x.x.31  Mask:255.255.255.224
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:72022 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34734 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:40788643 (38.8 MiB)  TX bytes:4441314 (4.2 MiB)

我需要这种攻击的原因是路由表的默认eth1而不是eth0

代码语言:javascript
运行
复制
# route (@172.x.x.7)
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.x.x.0       *               255.255.255.224 U     0      0        0 eth1
172.x.x.0       *               255.255.255.224 U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth2
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
link-local      *               255.255.0.0     U     1004   0        0 eth2
default         172.x.x.1       0.0.0.0         UG    0      0        0 eth1 # eth0 OK
#
票数 3
EN

Stack Overflow用户

发布于 2014-09-30 17:57:19

您需要在"iptables“中添加一些规则,以便将从box发起的ssh流量转发到远程机器。

代码语言:javascript
运行
复制
iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 22 -d [destination ip] -j ACCEPT
票数 0
EN

Stack Overflow用户

发布于 2012-09-04 16:46:01

只告诉其他用户eth0的ip地址。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12259796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档