转载

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

SecureCRT是很强大的远程登录虚拟终端软件,使用它可以减少很多繁琐的登录连接等操作。记录一下平时比较使用比较多的功能。

一、反空闲

出于安全考虑,一般linux服务器默认都有会话空闲时间,如果客户端超过一定的时间没有任何操作,服务端会断掉会话,这是我们只能重新连接了。解决这个问题有两种方法,一种是在服务端做配置。另外一种就是借助SecureCRT来没隔一段时间发送字符到服务端,保持连接,方法如下。 terminal => anti-idle => 勾选Send string => 输入任何字符

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

二、按钮栏

工作中,总是有一组命令要经常用,如果纯手打那就很繁琐了,我们可以将这组命令做成一个按钮。如,你经常需要在本地打包一个jar,并上传到/tmp目录下,再从/tmp目录下将jar包复制到tomcat的webapp目录下,并cd到log目录看日志。 点击 view => Button Bar,底部会出现一个横栏

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

横栏上右击,点击新建按钮

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

输入命令,

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

点击按钮,命令执行成功。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

夜深了,有时间再续把。

过去将近一个月了,来把这篇文章补齐。

三、端口转发(ssh隧道)

这个功能是ssh命令就提供的,可以说相当厉害了。

场景1. 堡垒机登录

现在有ABC三台机器,A=>B=>C是连通的,可以通过ssh登录,但A=>C无法连通,那么我们可以通过B来转发A的数据到C,实现A访问C机器。我现在三台机器配置如下: A:本地windows机器,ip为192.168.1.102,可以连通B,不能连通C B:centos虚拟机,机器名master,ip为192.168.238.128,可以连通C C:另一个台centos虚拟机,机器名slave1,ip为192.168.238.129 按如下操作,可以使得A连接C: 步骤1:新建A到B的连接,

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

步骤2:配置刚才的连接,实现端口转发,最重要的是下图的第四步,第五步,代表本机127.0.0.1端口2222的数据,将会通过B机器(即当前标签页连接到的远程机器),连接到远程的192.168.238.129端口22

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

配置结束,关闭刚才的标签页重新打开以激活配置。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

这时,根据刚才填写的配置,我们新建一个连接访问本机的2222端口。注意,A连接到B的标签页要打开,否则数据无法转发。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

如图,成功连接到机器C上了。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

以上的原理如下:

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

场景2. 绕过防火墙

理解了如上的ssh端口转发原理(ssh隧道),那么,是否可以实现通过ssh绕过防火墙呢?如下,这样是否行得通? A=>B使用ssh是连通的,但是A无法访问B的8080端口(tomcat默认端口)。那么是否可以A=>B建立一条ssh隧道(ssh端口转发),监听本地端口8080,将数据通过ssh隧道,转发到B机器的8080端口,这样不就实习了绕过防火墙访问tomcat默认的8080端口了吗?如下图。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

实践如下: 如下,tomcat在远程主机上已经正常启动。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

但是,8080端口没有开放,直接使用ip地址无法访问。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

按上面的教程,配置端口转发,这次将监听本地的8080端口,数据转发到B机器的8080 tomcat默认端口。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

重启标签页,浏览器访问本地的8080,即127.0.0.1:8080,成功访问。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

四. 远程端口转发(ssh命令使用)

以上的本地端口转发是:A=>B=>C,但A无法连通C,机器A、B、C能链式访问。那如果是这种情况呢:B是内网机器,能连通A和连通C,但A无法连通B,记为A<=B=>C,这种情况则无法在A上使用本地端口转发了。但在B上可是使用远程端口转发。如下图,通过B=>A能连通,在B、A间开通隧道,使得A的数据能够通过隧道传到B。 如下图,远程主机B有80端口的http服务,但没暴露外部端口外部机器无法访问,B能连通A,通过远程端口转发可以实现访问A机器的21212端口就能访问到机器B的80端口。前提是机器A上也安装了sshD服务端。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

如下

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板
SecureCRT高效操作——反空闲、按钮栏、端口转发跳板
接着,在机器B上建立远程端口转发,对于B来说远程指的是机器A,远程端口转发的意思是转发远程A的21212端口的数据到本机B上。ssh命令如下,在机器B上执行。 ssh -R 21212:localhost:80 username@a_ip

-R代表监听远程端口21212。 如下,在机器A上访问21212端口就能连通机器B的http服务了。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

五. 动态端口转发

以上的本地端口转发和远程端口转发,只能指定访问服务端的具体端口,而动态端口转发则不固定端口。ssh的动态端口转发就是sock5代理服务器。 ssh -D 1080 username@remote_ip 表示所有连接到本地1080端口的数据都会被转发到remote_ip主机上,就像这些数据是在remote_ip上执行一样。 如下,我的电脑的ip是广东电信,

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板
当我执行了 ssh -D 1080 username@ailicloud_ip

命令,侦听了本地的1080端口,将数据导向阿里云,并在chrome的SwitchyOmega插件上设置了将浏览器的数据都走1080端口。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

这时候来查询自己的ip,发现ip已经变为阿里云的ip地址了,说明代理成功。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

同时,ms006这台服务是内网机器,本来只能在阿里云跳板机上访问,现在在本地计算机上也能访问了,如下,参数没传报错,但是是能访问到计算机的,后台日志也打印了。

SecureCRT高效操作——反空闲、按钮栏、端口转发跳板

以上。

原文  https://juejin.im/post/5d81a8e06fb9a06af238a8d4
正文到此结束
Loading...