Command Shell模块
SSH登录模块的一个问题是如果有某类防火墙阻碍telenet或SSH连接到你的系统时它不能连接。即使webmin剩下部分使用HTTP连接运行正常,由这个小程序使用的端口可能不可用。即使在Webmin中做你可以在命令行中做的几乎每件事是可能的。有时,有一个用于执行Unix命令的shell提示符是有用的。
要解决阻止SSH或telnet连接的防火墙限制,你可以使用Command Shell模块,在Tools目录下找到:
它允许你在紧接*Execute command*按钮之后的文本框中输入命令,当点击这个按钮或按下回车键时,运行这个命令。在本页最上部分中显示来自这个命令的所有输出。
你可以通过从Execute previous command按钮边的菜单选择先前执行过的命令并且接着点击它来再次执行这个先前执行过的命令。但这将不影响先前运行的命令的菜单。
这个模块的最大限制是不能运行如vi,passwd和telnet交互命令。没有对一个命令已经启动对其提供输入的支持,所以你受限于向cp、ls和rm的非交互命令。
SSH Login模块
如果你的系统正在运行一个SSH服务器,你可以使用Webmin的内建SSH和telnet客户端模块来进行一个正常的Shell登录。因为这个模块使用了一个Java applet,所以当你使用它登录时,连接来自你web浏览器正在运行所在的客户端主机,就如你运行了一个正常的telnet客户端程序。那意味着如果有任何防火墙阻塞了来自Webmin模块的telnet或SSH访问,这个Webmin模块将不能够解决它。
要使用这个模块,点击Webmin中Severs类别下它的图标。主页只是包含一个Java applet,它将默认生成一个到运行这个Webmin的服务器的telnet连接。如果你的浏览器不支持java,将显示一条错误消息。如果这个applet装载并且能够连接,输入你的用户名和密码来登录。
不是所有Linux版本都默认运行一个telnet服务器。很多新发行版包含一个SSH服务器替代,这意味着applet将不能产生一个telnet连接。如果这发生了,你需要按如下部分说明的重新配置它。
配置SSH登录模块
这个模块有若干配置选项,它们控制其用户接口和连接。
Shell In A Box模块
这个模块结合了SSH/Telnet登录和Command Shell的最好特性--它允许你产生一个完全交互的登录,它通过HTTP连接进行隧道传输,因而避免了任何防火墙限制。它不是作为一个标准Webmin模块被包含的,但你可以从http://www.webmin.com/download/modules/shellinabox.wbm.gz下载它。有关如何安装它的讲解见Webmin Configuration。当你进入这个模块,它的主页完全被一个Java appliet占据。要启动这个登录过程,点击在左下角的Connect按钮。一个正常登录:在这个窗口顶部应该出现一个提示,允许你输入一个用户名和密码来登录并得到一个shell提示。当你结束时,只要点击Disconnect按钮退出。
这个模块的最大缺点是它使用编译好的Linux x86代码,并且不能运行于其它Unix系统或者非PC硬件。由于它产生了大量和频繁的HTTP请求,它也占用了服务器的大量CPU时间。