ssh 反向代理 外网访问内网
2017-06-24 00:00
603 查看
转:http://blog.sina.com.cn/s/blog_83dc494d0102vph3.html
先明确一下概念
外网是有固定ip的机器,ssh可以之间连接上;
内网是类似公司局域网之类,有独立ip但是不能ssh,需要管理员做端口转发等等权限性操作才可以。
文中用内网表示需要被访问的局域网内电脑,用外网表示局域网外电脑。
# 一、首先,查看外网现有的ssh端口开放情况。
[zhipeng@zhangzhipeng2023.cn ~]$
sudo netstat -anopl | grep ssh
[sudo] password for zhipeng:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22645/sshd off (0.00/0/0)
-------------------------------------------------------------------
内网ssh连接外网:
ssh -C -R (
vpsPort
):(
vpsHostname
): (
mySSHPort
)-p(
vpsSSHPort
) (
vpsUser
)@(
vpsIP
)
参数说明:
-C 数据压缩;
-R vpsPort 要绑定的外网端口;
vpsHostname 给外网设置主机名;
mySSHPort 内网ssh服务的端口。
-p vpsSSHPort 外网ssh服务端口
vpsUser 外网用户名
vpsIP 外网用户名
neiwang@ZHIPENG-PC ~ $
ssh -C -R 3345:localhost:22 -p 22 zhipeng@VPSIP
Last login: Tue Jun 9 13:12:51 2015 from
NeiWangIP
Welcome to WaiWang Compute Service!
# OK,成功登陆到外网服务器上
# 二、现在再查看一下外网的SSH端口状态
可以看到,外网已经在监听3344端口,并且和内网电脑建立了ssh连接
[zhipeng@zhangzhipeng2023.cn ~]$
sudo netstat -anopl | grep ssh
[sudo] password for zhipeng:
tcp 0 0 127.0.0.1:3345 0.0.0.0:* LISTEN 22799/sshd: zhipeng off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22645/sshd off (0.00/0/0)
tcp 0 36 VPSIP:22 NeiWangIP:11694 ESTABLISHED 22796/sshd: zhipeng on (0.38/0/0)
# 三、 接着,试一下从外网ssh内网
$ssh -C -N -D(
vpsPort
) -p(
mySSHPort
) (
myHostname
)@(
vpsHostname
)
参数我就不解释了,看名字和第一步对比就知道了 myName是内网用户名
我这里加-f -N 是会报错的,如下:
[zhipeng@zhangzhipeng2023.cn ~]$
ssh -C -f -N -D 3345 -p 3345 neiwang@localhost
The authenticity of host '[localhost]:3345 ([127.0.0.1]:3345)' can't be established.
ECDSA key fingerprint is 93:e8:a5:fa:1a:3e:0e:19:6e:c3:28:af:f7:9d:15:3c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:3345' (ECDSA) to the list of known hosts.
neiwang@localhost's password:
bind: Cannot assign requested address
channel_setup_fwd_listener: cannot listen to port: 3345
Could not request local forwarding.
[zhipeng@zhangzhipeng2023.cn ~]$
sudo ssh -C -D 3345 -p 3345 neiwang@localhost
neiwang@localhost's password: #输入内网密码
bind: Cannot assign requested address
channel_setup_fwd_listener: cannot listen to port: 3345
Could not request local forwarding.
Last login: Tue Jun 9 13:18:53 2015 from 127.0.0.1
[2015-06-09 13:21.51] ~
[neiwang.neiwang-PC] 0bB logout
Connection to localhost closed.
ssh反向代理大功告成。
题外话,也不能全算题外话,很重要的
0、安全问题,慎用。
1、别忘了打开内网的sshd服务
2、外网iptables记得打开端口(防火墙)
3、如果内网电脑是windows,记得关闭防火墙,或者设置好端口访问,不然ssh 22端口会访问异常无法连接。
先明确一下概念
外网是有固定ip的机器,ssh可以之间连接上;
内网是类似公司局域网之类,有独立ip但是不能ssh,需要管理员做端口转发等等权限性操作才可以。
文中用内网表示需要被访问的局域网内电脑,用外网表示局域网外电脑。
# 一、首先,查看外网现有的ssh端口开放情况。
[zhipeng@zhangzhipeng2023.cn ~]$
sudo netstat -anopl | grep ssh
[sudo] password for zhipeng:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22645/sshd off (0.00/0/0)
-------------------------------------------------------------------
内网ssh连接外网:
ssh -C -R (
vpsPort
):(
vpsHostname
): (
mySSHPort
)-p(
vpsSSHPort
) (
vpsUser
)@(
vpsIP
)
参数说明:
-C 数据压缩;
-R vpsPort 要绑定的外网端口;
vpsHostname 给外网设置主机名;
mySSHPort 内网ssh服务的端口。
-p vpsSSHPort 外网ssh服务端口
vpsUser 外网用户名
vpsIP 外网用户名
neiwang@ZHIPENG-PC ~ $
ssh -C -R 3345:localhost:22 -p 22 zhipeng@VPSIP
Last login: Tue Jun 9 13:12:51 2015 from
NeiWangIP
Welcome to WaiWang Compute Service!
# OK,成功登陆到外网服务器上
# 二、现在再查看一下外网的SSH端口状态
可以看到,外网已经在监听3344端口,并且和内网电脑建立了ssh连接
[zhipeng@zhangzhipeng2023.cn ~]$
sudo netstat -anopl | grep ssh
[sudo] password for zhipeng:
tcp 0 0 127.0.0.1:3345 0.0.0.0:* LISTEN 22799/sshd: zhipeng off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22645/sshd off (0.00/0/0)
tcp 0 36 VPSIP:22 NeiWangIP:11694 ESTABLISHED 22796/sshd: zhipeng on (0.38/0/0)
# 三、 接着,试一下从外网ssh内网
$ssh -C -N -D(
vpsPort
) -p(
mySSHPort
) (
myHostname
)@(
vpsHostname
)
参数我就不解释了,看名字和第一步对比就知道了 myName是内网用户名
我这里加-f -N 是会报错的,如下:
[zhipeng@zhangzhipeng2023.cn ~]$
ssh -C -f -N -D 3345 -p 3345 neiwang@localhost
The authenticity of host '[localhost]:3345 ([127.0.0.1]:3345)' can't be established.
ECDSA key fingerprint is 93:e8:a5:fa:1a:3e:0e:19:6e:c3:28:af:f7:9d:15:3c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:3345' (ECDSA) to the list of known hosts.
neiwang@localhost's password:
bind: Cannot assign requested address
channel_setup_fwd_listener: cannot listen to port: 3345
Could not request local forwarding.
[zhipeng@zhangzhipeng2023.cn ~]$
sudo ssh -C -D 3345 -p 3345 neiwang@localhost
neiwang@localhost's password: #输入内网密码
bind: Cannot assign requested address
channel_setup_fwd_listener: cannot listen to port: 3345
Could not request local forwarding.
Last login: Tue Jun 9 13:18:53 2015 from 127.0.0.1
[2015-06-09 13:21.51] ~
[neiwang.neiwang-PC] 0bB logout
Connection to localhost closed.
ssh反向代理大功告成。
题外话,也不能全算题外话,很重要的
0、安全问题,慎用。
1、别忘了打开内网的sshd服务
2、外网iptables记得打开端口(防火墙)
3、如果内网电脑是windows,记得关闭防火墙,或者设置好端口访问,不然ssh 22端口会访问异常无法连接。
相关文章推荐
- ssh 反向代理 外网访问内网
- ssh 反向代理 外网访问内网
- SSH反向代理实现外网访问内网服务器
- ssh反向隧道实验——没有端口映射的前提下,让外网访问内网服务器
- 利用灵雀云免费主机做反向ssh端口转发,实现内网服务器的外网访问_20160107_七侠镇莫小贝
- 利用灵雀云免费主机做反向ssh端口转发,实现内网服务器的外网访问_20160107_七侠镇莫小贝
- SSH反向连接及Autossh 实现外网访问内网树莓派
- CentOS7下搭建nginx反向代理服务器使得外网可以二级域名访问内网应用
- 用ssh反向隧道访问内网机器
- MySQL workbench外网通过PuTTY设置SSH的tunnels远程访问内网服务器中的MySQL
- 外网SSH访问内网LINUX服务器
- 在外网用SSH访问内网LINUX服务器
- 在外网用SSH访问内网LINUX服务器
- linux内网机器访问外网代理设置
- 在外网用SSH访问内网LINUX服务器
- 使用 ssh -R 穿透局域网访问内部服务器主机,反向代理 无人值守化
- 使用 ssh -R 穿透局域网访问内部服务器主机,反向代理 无人值守化