3613
- 收藏
- 点赞
- 分享
- 举报
linux管理员必备技巧(2)ssh后门
SSH 后门
有很多次,我所在的站点需要某人的远程支持,而他却被公司防火强阻挡在外。很少有人意识到,如果能通过防火墙到达外部,那么也能轻松实现让外部的信息进来。
从本意讲,这称为 “在防火墙上砸一个洞”。我称之为 SSH 后门。为了使用它,必须有一台作为中介的连接到 Internet 的机器。
在本例中,将这样台机器称为 blackbox.example.com。公司防火墙后面的机器称为 ginger。此技术支持的机器称为 tech。图 4 解释了设置过程。
以下是操作步骤:
检查什么是允许做的,但要确保您问对了人。大多数人都担心您打开了防火墙,但他们不明白这是完全加密的。而且,必须破解外部机器才能进入公司内部。不过,您可能属于 “敢作敢为” 型的人物。自己进行判断应该选择的方式,但不如意时不抱怨别人。
使用 -R 标记通过 SSH 从 ginger 连接到 blackbox.example.com。假设您是 ginger 上的根用户,tech 需要根用户 ID 来帮助使用系统。使用 -R 标记将 blackbox 上端口 2222 的说明转发到 ginger 的端口 22 上。这就设置了 SSH 通道。注意,只有 SSH 通信可以进入 ginger:您不会将 ginger 放在无保护的 Internet 上。
可以使用以下语法实现此操作:
~# ssh -R 2222:localhost:22 [email]thedude@blackbox.example.com[/email]
进入 blackbox 后,只需一直保持登录状态。我总是输入以下命令:
thedude@blackbox:~$ while [ 1 ]; do date; sleep 300; done
使机器保持忙碌状态。然后最小化窗口。
现在指示 tech 上的朋友使用 SSH 连接到 blackbox,而不需要使用任何特殊的 SSH 标记。但必须把密码给他们:
root@tech:~# ssh [email]thedude@blackbox.example.com[/email] .
tech 位于 blackbox 上后,可以使用以下命令从 SSH 连接到 ginger:
thedude@blackbox:~$: ssh -p 2222 root@localhost
Tech 将提示输入密码。应该输入 ginger 的根密码。
现在您和来自 tech 的支持可以一起工作并解决问题。甚至需要一起使用屏幕!(参见 技巧 4)。
VNC 或虚拟网络计算已经存在很长时间了。通常,当远程服务器上的某类图形程序只能在此服务器上使用时,我才需要 VNC。
例如,假设在 技巧 5 中,ginger 是一台存储服务器。许多设备都使用 GUI 程序来管理存储控制器。这些 GUI 管理工具通常需要通过一个网络直接连接到存储服务器,而这个网络有时保存在专用的子网络中。因此,只能通过 ginger 访问这个 GUI。
可以尝试使用 -X 选项通过 SSH 连接到 ginger 并启动它,但这对带宽要求很高,您需要忍受等待的痛苦。VNC 是一个网络友好的工具,几乎适用于所有操作系统。
假设设置与技巧 5 中的一样,但希望 tech 能访问 VNC 而不是 SSH。对于这种情况,需要进行一些类似的操作,不过转发的是 VNC 端口。执行以下操作步骤:
在 ginger 上启动一个 VNC 服务器会话。运行以下命令:
root@ginger:~# vncserver -geometry 1024x768 -depth 24 :99
这些选项指示启动服务器,分辨率为 1024x768,像素深度为每像素 24 位。如果使用较慢的连接设置,8 也许是更好的选项。使用 :99 指定可访问 VNC 服务器的端口。VNC 协议在 5900 处启动,因此 :99 表示服务器可从端口 5999 访问。
启动该会话时,要求您指定密码。用户 ID 与启动 VNC 服务器时的用户相同(本例中就是根用户)。
从 ginger 连接到 blackbox.example.com 的 SSH 将 blackbox 上的端口 5999 转发到 ginger。这通过运行以下命令在 ginger 中完成:
root@ginger:~# ssh -R 5999:localhost:5999 [email]thedude@blackbox.example.com[/email]
运行此命令后,需要将此 SSH 会话保持为打开状态,以便保留转发到 ginger 的端口。此时,如果在 blackbox 上,那么运行以下命令即可访问 ginger 上的 VNC 会话:
thedude@blackbox:~$ vncviewer localhost:99
这将通过 SSH 将端口转发给 ginger,但我们希望通过 tech 让 VNC 访问 ginger。为此,需要另一个通道。
在 tech 中,打开一个通道,通过 SHH 将端口 5999 转发到 blackbox 上的端口 5999。这通过运行以下命令完成:
root@tech:~# ssh -L 5999:localhost:5999 [email]thedude@blackbox.example.com[/email]
这次使用的 SSH 标记为 -L,它不是将 5999 放到 blackbox,而是从中获取。到达 blackbox 后,需要保持此会话为打开状态。现在即可在 tech 中使用 VNC 了!
在 tech 中,运行以下命令使 VNC 连接到 ginger:
root@tech:~# vncviewer localhost:99 .
Tech 现在将拥有一个直接到 ginger 的 VNC 会话。
设置虽然有点麻烦,但比为修复存储阵列而四处奔波强多了。不过多实践几次这就变得容易了。
对此技巧我还要补充一点:如果 tech 运行的是 Windows® 操作系统,并且没有命令行 SSH 客户端,那么 tech 可以运行 Putty。Putty 可以设置为通过查找侧栏中的选项来转发 SSH 端口。如果端口是 5902 而不是本例中的 5999,则可以输入图 5 中的内容。
如果进行了此设置,那么 tech 就可以使用 VNC 连接到 localhost:2,如同 tech 正在 Linux 操作系统上运行一样。
有很多次,我所在的站点需要某人的远程支持,而他却被公司防火强阻挡在外。很少有人意识到,如果能通过防火墙到达外部,那么也能轻松实现让外部的信息进来。
从本意讲,这称为 “在防火墙上砸一个洞”。我称之为 SSH 后门。为了使用它,必须有一台作为中介的连接到 Internet 的机器。
在本例中,将这样台机器称为 blackbox.example.com。公司防火墙后面的机器称为 ginger。此技术支持的机器称为 tech。图 4 解释了设置过程。
以下是操作步骤:
检查什么是允许做的,但要确保您问对了人。大多数人都担心您打开了防火墙,但他们不明白这是完全加密的。而且,必须破解外部机器才能进入公司内部。不过,您可能属于 “敢作敢为” 型的人物。自己进行判断应该选择的方式,但不如意时不抱怨别人。
使用 -R 标记通过 SSH 从 ginger 连接到 blackbox.example.com。假设您是 ginger 上的根用户,tech 需要根用户 ID 来帮助使用系统。使用 -R 标记将 blackbox 上端口 2222 的说明转发到 ginger 的端口 22 上。这就设置了 SSH 通道。注意,只有 SSH 通信可以进入 ginger:您不会将 ginger 放在无保护的 Internet 上。
可以使用以下语法实现此操作:
~# ssh -R 2222:localhost:22 [email]thedude@blackbox.example.com[/email]
进入 blackbox 后,只需一直保持登录状态。我总是输入以下命令:
thedude@blackbox:~$ while [ 1 ]; do date; sleep 300; done
使机器保持忙碌状态。然后最小化窗口。
现在指示 tech 上的朋友使用 SSH 连接到 blackbox,而不需要使用任何特殊的 SSH 标记。但必须把密码给他们:
root@tech:~# ssh [email]thedude@blackbox.example.com[/email] .
tech 位于 blackbox 上后,可以使用以下命令从 SSH 连接到 ginger:
thedude@blackbox:~$: ssh -p 2222 root@localhost
Tech 将提示输入密码。应该输入 ginger 的根密码。
现在您和来自 tech 的支持可以一起工作并解决问题。甚至需要一起使用屏幕!(参见 技巧 4)。
VNC 或虚拟网络计算已经存在很长时间了。通常,当远程服务器上的某类图形程序只能在此服务器上使用时,我才需要 VNC。
例如,假设在 技巧 5 中,ginger 是一台存储服务器。许多设备都使用 GUI 程序来管理存储控制器。这些 GUI 管理工具通常需要通过一个网络直接连接到存储服务器,而这个网络有时保存在专用的子网络中。因此,只能通过 ginger 访问这个 GUI。
可以尝试使用 -X 选项通过 SSH 连接到 ginger 并启动它,但这对带宽要求很高,您需要忍受等待的痛苦。VNC 是一个网络友好的工具,几乎适用于所有操作系统。
假设设置与技巧 5 中的一样,但希望 tech 能访问 VNC 而不是 SSH。对于这种情况,需要进行一些类似的操作,不过转发的是 VNC 端口。执行以下操作步骤:
在 ginger 上启动一个 VNC 服务器会话。运行以下命令:
root@ginger:~# vncserver -geometry 1024x768 -depth 24 :99
这些选项指示启动服务器,分辨率为 1024x768,像素深度为每像素 24 位。如果使用较慢的连接设置,8 也许是更好的选项。使用 :99 指定可访问 VNC 服务器的端口。VNC 协议在 5900 处启动,因此 :99 表示服务器可从端口 5999 访问。
启动该会话时,要求您指定密码。用户 ID 与启动 VNC 服务器时的用户相同(本例中就是根用户)。
从 ginger 连接到 blackbox.example.com 的 SSH 将 blackbox 上的端口 5999 转发到 ginger。这通过运行以下命令在 ginger 中完成:
root@ginger:~# ssh -R 5999:localhost:5999 [email]thedude@blackbox.example.com[/email]
运行此命令后,需要将此 SSH 会话保持为打开状态,以便保留转发到 ginger 的端口。此时,如果在 blackbox 上,那么运行以下命令即可访问 ginger 上的 VNC 会话:
thedude@blackbox:~$ vncviewer localhost:99
这将通过 SSH 将端口转发给 ginger,但我们希望通过 tech 让 VNC 访问 ginger。为此,需要另一个通道。
在 tech 中,打开一个通道,通过 SHH 将端口 5999 转发到 blackbox 上的端口 5999。这通过运行以下命令完成:
root@tech:~# ssh -L 5999:localhost:5999 [email]thedude@blackbox.example.com[/email]
这次使用的 SSH 标记为 -L,它不是将 5999 放到 blackbox,而是从中获取。到达 blackbox 后,需要保持此会话为打开状态。现在即可在 tech 中使用 VNC 了!
在 tech 中,运行以下命令使 VNC 连接到 ginger:
root@tech:~# vncviewer localhost:99 .
Tech 现在将拥有一个直接到 ginger 的 VNC 会话。
设置虽然有点麻烦,但比为修复存储阵列而四处奔波强多了。不过多实践几次这就变得容易了。
对此技巧我还要补充一点:如果 tech 运行的是 Windows® 操作系统,并且没有命令行 SSH 客户端,那么 tech 可以运行 Putty。Putty 可以设置为通过查找侧栏中的选项来转发 SSH 端口。如果端口是 5902 而不是本例中的 5999,则可以输入图 5 中的内容。
如果进行了此设置,那么 tech 就可以使用 VNC 连接到 localhost:2,如同 tech 正在 Linux 操作系统上运行一样。
我来回答
回答1个
时间排序
认可量排序
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2012-12-24 14:10:01
-
2012-12-24 14:11:21
-
2008-08-23 16:39:24
-
2008-08-23 16:37:49
-
2018-12-17 14:35:34
-
2012-12-24 14:20:20
-
2016-10-06 22:30:16
-
2014-09-05 14:58:04
-
2018-12-18 10:10:14
-
2012-12-05 11:09:28
-
2012-12-05 14:23:43
-
2020-03-24 18:01:52
-
2018-12-07 00:17:45
-
2018-03-06 15:07:59
-
12015-02-06 18:44:52
-
02008-11-27 18:37:45
-
12014-10-28 09:40:04
-
2012-12-05 14:14:51
-
22018-09-17 13:39:43
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50帮忙解决个交叉编译的问题
-
20帮忙交叉编译个源码
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认