收藏 分享(赏)

ssh使用新法.doc

上传人:myw993772 文档编号:7059654 上传时间:2019-05-04 格式:DOC 页数:3 大小:27KB
下载 相关 举报
ssh使用新法.doc_第1页
第1页 / 共3页
ssh使用新法.doc_第2页
第2页 / 共3页
ssh使用新法.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 ssh 使用新法2006-11-05ssh 使用新法:公网(合法 ip)用户访问内网(私有 ip)服务器(http,ftp,sshd,cvs.), 内网的朋友不妨一看。内网的朋友苦于没有合法 ip,不能对外提供 internet 服务。解决方案很多,可以通过在网关做 端口映射,或其他的辅助软件等。本文介绍两种比较简单实用的方法,利用 ssh 这个强大的工具。(以下方法不分平台,都适用)案例一、内网主机 A ,开了 http,ftp ,http ,vnc,sshd,socks5,cvs 等服务。无合法 ip 地址。外网主机 B ,开了 sshd 服务。有合法 ip : 218.xxx.xxx.

2、xxx我们的目的是让 B 能访问 A 上的各种服务。步骤:1、A 知道 B ip 后,先用 ssh client 连上 B,命令如下:ssh -R 1234:localhost:21 -l root 218.xxx.xxx.xxx解释:关于 ssh 的参数,请看 ssh -help-L listen-port:host:port Forward local port to remote address-R listen-port:host:port Forward remote port to local address-L local (本地) -R :remote (远程)-R 1234:

3、localhost:21 其实做了个 “端口转发(forward)“ 。意思是主机 A 把本地的 21 端口(对应 ftp 服务)映射为 B 的 1234 端口(任意未被占用),同时 A 监听 B 的 1234 端口。在 B 上用 netstat -al | grep 1234 ,你能看到这个监听连接。任何发送到 B 1234 端口的请求将被传送到 A 的 21 端口。2、B 用 ftp 工具(任意,如 gftp) 连本地的 1234 端口,输入 A 的 ftp 用户和密码。ftp localhost 1234千万不要觉的奇怪,为什么连的是本地的地址。举个不恰当例子,相当于 A 在 B 的房间

4、里装了个窃听器 (监听端口),那么 B 在房间里说的话就通过窃听器传送到了 A。3、推广:如果 B 没占用 21 端口的话,那么可以写成:A 使用: ssh -R 21:localhost:21 -l root 218.xxx.xxx.xxxB 使用: ftp localhost如果你想使用 A 上的 http 或其他服务,只需改变服务端口:http 服务 :A 使用:ssh -R 1234:localhost:80 -l root 218.xxx.xxx.xxxB 使用:w3m http:/localhost:1234sshd 服务:A 使用:ssh -R 1234:localhost:22

5、 -l root 218.xxx.xxx.xxxB 使用:ssh localhost -p 1234vnc 服务:A 使用:ssh -R 1234:localhost:5901(其他) -l root 218.xxx.xxx.xxxB 使用:vncviewer localhost:1socks5 服务:A 使用:ssh -R 1234:localhost:1080 -l root 218.xxx.xxx.xxxB 略cvs 服务:A 使用:ssh -R 1234:localhost:2401 -l root 218.xxx.xxx.xxxB 使用:cvs -d :pserver:rootloc

6、alhost:1234/home/cvsroot login这里是否一定要用 root ,涉及到权限问题,具体还得靠大家来总结经验。案例二、部分朋友会问了,这样的话只是两台机器的互相通讯,如何让广域网的人都能访问呢?聪明的你,这时候可能已经有了答案。内网主机 A ,开了 http,ftp ,http ,vnc,sshd,socks5,cvs 等服务。无合法 ip 地址。外网主机 B ,开了 sshd 服务。有合法 ip : 218.xxx.xxx.xxx我们的目的是让 internet 上的任何主机能访问 A 上的各种服务。步骤:1、首先,B 的 sshd 服务端做点小小的设置:vi /etc

7、/ssh/sshd.config加入 GatewayPorts yes然后重启 sshd 服务: /etc /init.d/ssh restart 或 /etc/init.d/sshd restart(解释:不加,默认会把监听端口绑定在 localhost 或 lo(127.0.0.1),这样除了 B 自身别人是没法访问监听端口的。加入 GatewayPorts yes,把监听端口绑定到 0.0.0.0 ,这样外部的所有机器都能访问到这个监听端口。主要是考虑安全性问题,默认情况,只允许本地访问。这里才是真正的难点,实验了一个晚上,累人呀!给点鼓励吧 :)2、A 知道 B ip 后,先用 ssh client 连上 B,命令如下:ssh -R 21:localhost:21 -l root 218.xxx.xxx.xxx(事先确定 B 的 21 端口未被占用)3、分布在 internet 的其它客户机使用 ftp 工具(任意) ,连 B 21 端口。ftp 218.xxx.xxx.xxx 21你会发现自己连上了内网 A 的 ftp 服务。此法和案例一完全一样。internet - B 21 端口-A 21 端口可以叫做端口转发,或隧道技术,也可以称之为跳板(B),或反弹 。呵呵,我瞎说的。 。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报