敬业的IT人 >> 网络技术 >> 网络管理 >> 利用Ajaxterm完成远程管理任务

利用Ajaxterm完成远程管理任务

敬业的IT人 互联网 佚名 2007-12-27 20:29:14

进行远程管理通常要求访问远程系统上的某个终端,但是如果你不想允许直接ssh访问,我们就没有多少其它的选择。目前,随着针对ssh服务的端口探测和蛮力攻击的增加,人们就不希望公共IP能够侦听ssh,但是为了完成远程管理任务又不得不这样做。

一个简单解决方案可以是:通过Web运行终端系统。大多需要进行远程管理的服务器往往也安装了Apache服务。因此,通过使用Ajaxterm可以很容易完成这项功能。

Ajaxterm是用Python脚本写的一个终端系统,其中使用了一些AJAX JavaScript用于客户端处理,它的工作原理是:通过运行ajaxerm.py脚本,可以在本地机上侦听HTTP请求,端口号为8022。使用Apache代理命令,你可以强迫某个位置如https://www.myhost.com/term/ 前导返回请求信息给ajaxterm.py,用来完成所有基于Web终端的支持功能。

首先,下载并解压Ajaxterm-0.10.tar.gz压缩包,这是发表本文时的最新版本。然后运行ajaxterm.py。通过命令如下:# ./ajaxterm.py。

如果你是作为根用户运行ajaxterm.py,将会执行 /bin/login 命令来连接;否则的话,将会打开ssh命令连接到本地主机。

下一步是配置 Apache。显然,这应该包括配置SSL和设定安全密码(实质上就是你需要提供两次登陆信息来访问终端)。Apache配置如下:

ProxyRequests off

<Proxy *>

AuthUserFile /srv/www/mysite.com/.htpasswd-ssl

AuthGroupFile /dev/null

AuthName admin

AuthType basic

require valid-user

 Order deny,allow

Allow from all

</Proxy>

ProxyPass /term/ http://localhost:8022/

ProxyPassReverse /term/ http://localhost:8022/

我们需要使用/srv/www/mysite.com/.htpasswd-ssl文件来获得HTTP认证许可,如果认证成功,那么连接将会被建立。所有请求信息都回传到http://localhost:8022/,而其请求信息也由此发出,这就是ajaxterm.py服务。

将下面的语句加入到/etc/rc.d/rc.local文件中,或者一个类似的开始脚本将会使ajaxterm.py从根用户启动。

LANG="" /usr/local/ajaxterm/ajaxterm.py -d

改变路径来适应你的安装,或者使用压缩包中提供的示例初始化脚本。



粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com