扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:ZDNet China 2007年4月23日
关键字: 网络管理
进行远程管理通常要求访问远程系统上的某个终端,但是如果你不想允许直接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
改变路径来适应你的安装,或者使用压缩包中提供的示例初始化脚本。
(责任编辑:陈毅东)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。