通过ssh tunnel让Kali实现内网穿透

拥有设备:

1.Kali 2.0虚拟机一台

2.外网Linux服务器一台,(CentOs x64)

 

问题如下:

在电脑上安装了一台kali 2.0的虚拟机,通过nat物理机的网卡可以访问互联网,现在想要实现可以通过其他任何可访问到互联网的主机能访问到该Kali

 

实现操作如下:

一、打开Kali的ssh服务

 

(1)修改sshd_config文件,命令为:

vi /etc/ssh/sshd_config

 

将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes

 

(2)将PermitRootLogin without-password修改为

PermitRootLogin yes   

然后保存并退出

ESC:wq

(3)service ssh start  //启动ssh服务

 

二、安装autossh

 

$ sudo apt-get install autossh

三、执行autossh命令

#autossh -M 1234 -NR 19998:localhost:22 root@server_ip

再输入密码就OK了

这样,-M 1234 为监听端口,-NR将本地的22端口转发到server_ip的123456端口上

OK!

这样,再通过远程的服务器的123456端口登录就内网里的kali了

最后,附截图一张

 

通过ssh tunnel让Kali实现内网穿透_第1张图片

 

也可以这样: ssh -R  6666:localhost:[email protected]

将本地的8080转发到10.11.22.33服务器上的6666端口上去,从而达到10.11.22.33:6666就是localhost:8080的目的

如果想在远程主机访问6666端口的话,在上面的命令指定下网卡即可,就是下面这样的:

ssh -R  0.0.0.0:6666 localhost:8080 [email protected]

 

其他参数

-f 后台运行

-N 不开shell

-T 不分配tty

 ssh -fNR  6666:localhost:8080 [email protected]

端口映射:

另外再介绍一个ssh -L的一个应用场景:比如某一天你在家加班(机器A),需要连接到公司里的oracle数据库(机器B)里去,但是公司的oracle数据库没有外网地址,但公司有另外一台外网可以访问的机器(机器C);

这时就可以这样操作了:

在机器A上通过ssh -L将本地的端口映射到机器C上,将让它转发所有机器B的请求,也就是下面这样写:

ssh -L 1521:iamoracleserverB.com:1521 root@serverC

当然上面的命令执行的前提是机器A是支持SSH命令的,也就是得要是mac os或linux

端口转发

但如果机器A是一台WINDOWS机器怎么办呢?

那就可以将机器B的1521端口映射到机器C上的某一个端口上来,并且指定为0.0.0.0的这个网卡地址

那么在serverC上执行如下的命令就可以了:

ssh -L 0.0.0.0:1521:iamoracleserverB.com:1521 root@serverC

 

或参考:http://blog.csdn.net/wxqee/article/details/49234595

或参考:https://www.cnblogs.com/phpdragon/p/5314650.html

你可能感兴趣的:(Linux)