首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从80端口到22端口?

从80端口到22端口?
EN

Unix & Linux用户
提问于 2014-01-16 22:49:01
回答 2查看 4.9K关注 0票数 2

我目前连接到的isp只有打开端口80,但我需要ssh到我的服务器,它监听我的路由器的端口22。这里有经过80号港口的路吗,然后在那里穿过22个港口?

EN

回答 2

Unix & Linux用户

发布于 2014-01-16 22:59:45

奇怪的是,您的出站只允许端口80,但无论如何。您可以使用iptables将所有连接重定向到端口80到端口22,或者让SSH服务器也监听端口80。

使用iptable:

代码语言:javascript
复制
iptables -t nat -I PREROUTING --src 0/0 --dst YOURSERVERIP -p tcp --dport 80 -j REDIRECT --to-ports 22

修改服务器ssh配置:

代码语言:javascript
复制
sed '/\#Port\ 22/Port 80/' /etc/ssh/sshd_config | grep 80

如果一切正常,请使用:

代码语言:javascript
复制
sudo sed -i '/\#Port\ 22/Port 80/' /etc/ssh/sshd_config
票数 4
EN

Unix & Linux用户

发布于 2016-04-16 01:14:55

首先,我觉得我看错了你的问题。我的理解是,你只允许在80端口的出站流量。这意味着您需要从端口80到服务器端口22进行通信。幸运的是,这是完全有可能的使用背景管和netcat。这是一个过程:

首先,创建你的回收管:

# mknod backpipe p

接下来,制作一个netcat侦听器,它连接你的反管道并将信息发送出你选择的端口(80)到你选择的端口(22):

代码语言:javascript
复制
# nc -l -p 222 0<backpipe | nc -p 80 SERVERIP 22 | tee backpipe

最后,只需连接到您的监听端口!

# ssh server_username@127.0.0.1 -p 222

对于好奇的人来说,这是一条地下管线的分解图:

代码语言:javascript
复制
nc -l -p 222 0<backpipe

这将设置一个在端口222上监听的netcat侦听器(您可以将它更改为您想要的任何端口,我刚刚选择了222),并将所有数据发送到您的回水管中。

代码语言:javascript
复制
nc -p 80 SERVERIP 22

这将将源端口设置为80到SERVERIP端口22。这是OP在他的帖子中想要的连接,但是我们想通过这个传输一个SSH连接,因此需要一个回溯管。

代码语言:javascript
复制
tee backpipe

这将您的STDOUT发送到回程,也发送到您的终端。如果您不想看到数据,可以用以下行替换它:

代码语言:javascript
复制
# nc -l -p 222 0<backpipe | nc -p 80 SERVERIP 22 1> backpipe
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/109689

复制
相关文章

相似问题

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