Godaddy Economy Plan Hosting SSH 体验

2009-04-23

我使用的是 Godaddy 的 Economy Plan Hosting (Linux) + Dedicated IP。它以前是不支持 SSH 登录管理的,不久前听说 SSH 服务已经可用,我随即开通。简单说一下试用情况。

开通 SSH 的方法很简单。首先备份数据库,因为开通 SSH 需要将文件和数据库迁移到另一台服务器上。可以使用 Godaddy 提供的数据库备份服务(Hosting - My Hosting Account - Manage Account - Databases - MySQL,点击数据库名右边的小铅笔图标,在之后的界面就有 Backup 和 Restore 的选项),这样可以突破 phpMyAdmin 的导入/导出文件大小限制。至于主机上的文件,Godaddy 会自动迁移,不过为了保险起见建议使用 FTP 自行备份到本地,因为数据库的备份也保存在 html 目录中。备份完成之后即可在 Hosting - My Hosting Account - Manage Account - Settings - SSH 中开通 SSH 服务。开通的过程需要电话验证:填写电话号码,很快会收到一个美国长途,播出一串数字,将它们填写在网页上即可验证通过。之后需要等待若干时间,待文件迁移到新的服务器上,然后手工重建数据库并恢复原备份数据。Godaddy 会自动修改 DNS 记录以指向新的服务器 IP(但二级域名的 A 记录它没有自动帮我修改)。这时便可以使用 SSH 客户端登录了,IP、用户名、密码同 Hosting 设置。

Economy Plan Hosting 的 SSH 自由度当然没有 Virtual Dedicated Server 的大了。首先,没有 root 权限,想开个 IPv6 隧道都不行。其次,实用程序缺一些,我的这个服务器上什么 locate、man、gcc、dig、telnet、ftp、w3m 都没有,ping 和 ssh 也没有执行权限;然而一些不怎么常用(或许在 web 开发中有用)的程序倒有一些,比如 tiff2rgba、icctrans;自己上传程序是可以的,不过要搞定动态链接库等系统依赖可能会费些周折。再次,防火墙屏蔽了 HTTP、FTP 等常规服务之外的端口,不能跑一些非 web 接口的程序或服务;我试验运行一些自己上传的二进制或 python 网络工具,却被告知 socket error: Operation not permitted。最后,sshd 的设置也比较保守,不允许 TCP 端口转发等。

那么用户可以拿 SSH 做什么呢?我想至少可以做以下工作:1.文件管理:把私有文件转移到 html 之外的目录,通过 sftp/scp 将 10G 空间用做网盘;可以方便地压缩、解压文件,弥补 web 文件管理器和 FTP 的不足。2.数据库管理:mysql 命令行比 phpMyAdmin 灵活很多,至少没有导入/导出文件大小限制。3.使用 bash、php、python、ruby、perl 脚本做一些事:由于上述诸多限制,我们只能使用 web 接口。好在有 wget 和 curl 可用,让 bash 脚本也能有 web 输入;输出就是 html 目录,可以对用户直接呈现 web 或提供 REST API。可以使用 nohup 方式在后台跑自己的脚本,同时能够在 Hosting - My Hosting Account - Manage Account - Content - Processes 界面管理进程。当然,用脚本实时监控火车票转让信息之类的私事也可以干,不过推送信息恐怕只能用 twitter 之类提供 REST API 了。4.cron 计划任务:可以直接编辑自己的 crontab,也可以在 Hosting - My Hosting Account - Manage Account - Content - Cron Manager 界面增删 cron 作业,跑一些周期性任务,比如数据备份。这里支持 E-mail 发送作业输出文本,但执行周期最短是一个小时,恐怕用它是抢不到火车票的 :) 。上述两种后台服务方式可以结合使用,各取所长。

总之可以看出,这个 SSH 只是用来辅助管理和维护 web 的,Godaddy 不允许用户把 web 服务器当作其它服务器使用,不希望它的主机成为用户学习 Linux 和网络配置的平台,也不能容忍它的服务器作为用户进行其它活动的代理或跳板。但只要有脚本语言的存在,我们就可以尽可能发挥想象,榨取 Godaddy Economy Plan Hosting 的每一滴油水。