2011年9月23日星期五

伊朗屏蔽Tor,Tor发布更新

Tor项目官方博客报导,当地时间13日晚上,伊朗政府在其边界路由器中加入了新的过滤规则,能识别和屏蔽Tor流量。伊朗的Tor用户因此无法连上Tor中继和网桥。Tor立即采取行动更新了程序,发布了新版Tor 0.2.3.4-alpha,绕过过滤。它表示只要有足够的中继和网桥用户升级,伊朗的用户将能再次连上Tor。它在博客上解释了过滤规则如何工作:Tor试图让流量看起来像是浏览器与HTTPS服务器之间的会话,但如果仔细检查还是能发现差别,其中一种显著特征是Tor的SSL握手。Tor每2小时会循环(rotate)其SSL会话证书,而网站从CA获得的SSL证书一般要一两年才会更新一次。新的修正就是让Tor的SSL证书过期时间能以假乱真。

16条技巧让你更高效使用SSH

SSH有很多非常酷的特性,如何它是你每天的工作伴侣,那么我想你有必要了解以下16条高效使用SSH的秘籍,它们帮你节省的时间肯定会远远大于你用来配置它们的时间。
1. 多条连接共享
如果你需要在多个窗口中打开到同一个服务器的连接,而不想每次都输入用户名,密码,或是等待连接建立,那么你可以配置SSH的连接共享选项,在本地打开你的SSH配置文件,通常它们位于~/.ssh/config,然后添加下面2行:

ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
现在试试断开你与服务器的连接,并建立一条新连接,然后打开一个新窗口,再创建一条连接,你会发现,第二条连接几乎是在瞬间就建立好了。
Windows用户
如果你是Windows用户,很不幸,最流行的开源SSH客户端Putty并不支持这个特性,但是Windows上也有OpenSSH的实现,比如这个Copssh,如果你觉得下面的一些技巧对你很有帮助,或许你应该试试Copssh。
文件传输
连接共享不止可以帮助你共享多个SSH连接,如果你需要通过SFTP与服务器传输文件,你会发现,它们使用的依然是同一条连接,如果你使用的 Bash,你会发现,你甚至SSH甚至支持Tab对服务器端文件进行自动补全,共享连接选项对于那些需要借助SSH的工具,比如rsync,git等等也 同样有效。
2. 长连接
如果你发现自己每条需要连接同一个服务器无数次,那么长连接选项就是为你准备的:
ControlPersist 4h
现在你每次通过SSH与服务器建立连接之后,这条连接将被保持4个小时,即使在你退出服务器之后,这条连接依然可以重用,因此,在你下一次(4小时 之内)登录服务器时,你会发现连接以闪电般的速度建立完成,这个选项对于通过scp拷贝多个文件提速尤其明显,因为你不在需要为每个文件做单独的认证了。
3. 别再输入密码
如果你还在通过密码方式登录SSH,那么你或许应该试试SSH Keys,首先使用OpenSSH为自己声称一对密钥:
$ ssh-keygen
跟随指示,完成之后,你应该可以在你的.ssh目录下看到两个文件,id_rsa就是你的私钥,而id_ras.pub则是你的公钥,现在你需要将你的公钥拷贝到服务器上,如果你的系统有ssh-copy-id命令,拷贝会很简单:
$ ssh-copy-id smylers@compo.example.org
否则,你需要手动将你的公钥拷贝到服务器上的~/.ssh/authorized_keys文件中:
$ < ~/.ssh/id_rsa.pub ssh clegg.example.org ‘mkdir -p .ssh; cat >> .ssh/authorized_keys; chmod go-w .ssh .ssh/authorized_keys’
现在试试重新连接到SSH服务器,或是拷贝文件,是不是已经不需要再输入密码了?
为Putty配置SSH Key
Putty也可以使用SSH Key,从Putty网站下载PuttyGen和Pageant,然后使用PuttyGen生成你的密钥,将公钥拷贝到服务器的’.ssh/authorized_keys’目录,然后运行Pageant,导入你的私钥,让它在后台运行,险隘你就可以使用Putty通过公钥直接登录服务器了,你可以在Putty手册的第8,9章了解关于这一特性的详细介绍。
4. 连接中转
有时候你可能需要从一个服务器连接另外一个服务器,比如在两个服务器之间直接传输数据,而不用通过本地电脑中转:
www1 $ scp -pr templates www2:$PWD
(顺便说一下,当你需要在两台服务器间拷贝文件时,$PWD变量时非常有用的),因为即使你已经在两台服务器上添加了你本地电脑的公钥,scp默认 仍然会提示你输入密码:这是因为你用来作为跳板的那台服务器上并没有你的私钥,所以,第二胎服务器会拒绝你的公钥,但是一定不要通过将你的私钥拷贝到中转 服务器上来解决这个问题,你可以使用agent forwarding来解决这个问题,只要在你的.ssh/config文件中加入下面这行代码就可以了:
ForwardAgent yes
或者是在Putty中勾上“Allow agent forwarding”选项,现在你的本地SSH就变成了第一台服务器的SSH代理,从第一台服务器在连接其它服务器就变和和在你本地一样简单,注意,如果要开启这个选项,前提是这个中间服务器值得你信任。
5. 省略主机名
输入服务器的完整主机名来建立一个新的SSH连接实在是太乏味无聊了,尤其是当你有一组拥有相同域名但是子域名不同的服务器需要管理时,比如下面这样:
* www1.example.com
* www2.example.com
* mail.example.com
* intranet.internal.example.com
* backup.internal.example.com
* dev.internal.example.com
或许你的网络已经配置了可以直接使用短域名,比如intranet,但是如果你的网络不支持,实际上你可以自己搞定这个问题,而不用求助网络管理员。
解决办法根据你用的操作系统而略有差异,下面是我的Ubuntu系统的配置:
prepend domain-search “internal.example.com”, “example.com”;
然后你需要重启网络:$ sudo restart network-manager
不同的系统,这两条命令可能会略有差异。
5. 主机别名
你也可以在你的SSH配置中直接定义主机别名,就像下面这样:
Host dev
HostName dev.internal.example.com
你还可以使用通配符来进行分组:
Host dev intranet backup
HostName %h.internal.example.com
Host www* mail
HostName %h.example.com
在Putty中你可以为每个主机名保存单独的session,然后双击建立连接(但是它可能没办法支持通配符)。
7. 省去用户名
如果你在远程服务器上的用户名和你本地的用户名不同,你同样可以在SSH配置中进行设置:
Host www* mail
HostName %h.example.com
User simon
现在就算我的本地用户名是 smylers,我仍然可以这样连接我的服务器:
$ ssh www2
SSH会使用simon账户连接你的服务器,同样,Putty可以保存这个信息在你的session中。
8. 在服务器间跳转
有些时候,你可能没法直接连接到某台服务器,而需要使用一台中间服务器进行中转,这个过程也可以自动化。首先确保你已经为服务器配置了公钥访问,并开启了agent forwarding,现在你就可以通过2条命令来连接目标服务器,不会有任何提示输入:
$ ssh gateway
gateway $ ssh db
然后在你的本地SSH配置中,添加下面这条配置:
Host db
HostName db.internal.example.com
ProxyCommand ssh gateway netcat -q 600 %h %p
现在你就可以通过一条命令来直接连接目标服务器了:
$ ssh db
这里你可能会需要等待长一点的时间,因为SSH需要进行两次认证,,注意netcat也有可能被写成nc或者ncat或者前面还需要加上g,你需要检查你的中间服务器来确定实际的参数。
9. 突破网络封锁
有些时候,你使用的网络可能只开放了80端口,或者它们封锁了SSH端口(默认的22端口),这种情况下,你可以通过配置SSH服务器在80或者443端口进行监听来突破封锁,只需要编辑你的服务器的/etc/ssh/sshd_config文件:
Port 443
然后重启SSH服务器:
$ sudo reload ssh
当然这样做的前提是你的服务器没有使用HTTS服务,但是实际上你只需要设置一台服务器使用https端口就够了,你但你可以访问这台服务器,你就 可以使用我们前面提到的技术利用它作为跳板来访问其它服务器,但是记住,你需要提前配置好这台服务器(现在怎么样?),这样万一当你身处一个只能访问 Web的网络环境时,就可以省掉打电话让其他人帮你配置中间服务器的麻烦了。
10. 穿越Web代理
有些时候,你所在的网络不止封锁SSH端口,它们有可能更进一步,只让你通过Web代理来访问网络,幸运的是我们有一个叫做Corkscrew的程序可以通过Web代理在发送SSH数据。Corkscrew的使用非常简单,一般我都是在需要时搜索,然后直接下载,跟随网站上的指示,然后就搞定了,一般你需要这样一条配置:
ProxyCommand corkscrew proxy.example.org 8080 %h %p
11. 远程GUI
有时候通过本地的GUI程序来访问远程服务器的文件会非常有用,比如,编辑一副图片,或者查看一个PDF文件,或者只是简单的通过一个非命令行的编 辑器来修改代码,我发现GVim要比终端里的Vim更有用,因为我可以通过gvimopens打开一个新窗口来编辑文件,而用当前的SSH窗口继续执行其 它操作,不要要这样做,你需要先在你的SSH配置中开启一个叫做X forwarding的选项:
ForwardX11 yes
这个选项需要服务器配置才能起作用,服务器也需要开启X forwarding,你可以在服务器的/etc/ssh/sshd_config中添加下面这个命令:
X11Forwarding yes
同时你还需要确保安装了xauth,编辑器,图片查看器以及其它的你需要运行的图形化程序,这种方式只有在支持本地X服务器的操作提供才可以工 作,mac和Windows上都有免费的X Server,你可能需要花些时间配置它们,相比之下,切换到Linux相对会更容易一下。
12.本地操作远程文件
另一种让远程GUI程序显示在本地的替代方案就是让本地的GUI程序可以直接操作远程文件,你可以通过SSHFS来实现,只需要创建一个空目录,然后使用SSHFS将一个远程目录mount到这个目录就可以了:
$ mkdir gallery_src
$ sshfs dev:projects/gallery/src gallery_src
$ cd gallery_src
$ ls
现在你就可以使用任何你喜欢的本地程序来便捷这个目录中的文件了,它们看起来是在你的本地,但其实时远程服务器上的文件,你可以使用fusermount命令来unmount这些文件,不要担心记不住,它们就在sshfs手册的顶上:
$ cd ..
$ fusermount -u gallery_src
SSHFS可以在Linux和OSX上工作,Windows用户我目前还没找到什么好办法。
13. 通过Vim访问远程文件
Vim有一个内置的功能可以直接编辑远程文件,需要借助SCP URL:
$ gvim scp://dev/projects/gallery/src/templates/search.html.tt
这中方式明显不如SSHFS灵活,但是如果你只需要对远程服务器的1,2个文件进行编辑时,这条命令就要更灵活一些了,并且可以在Windows上你也可以这样做:
:help netrw-problems
14. 使用本地App连接远程服务器
有时可能有些服务,比如数据库或是Web服务器,它们运行在远程服务器上,但是如果有用方式可以直接从本地程序连接它们,那会非常有用,要做到这一 点,你需要用到端口转发(port forwarding),举个例子,如果你的服务器运行Postgres(并且只允许本地访问),那么你就可以在你的SSH配置中加入:
Host db
LocalForward 5433 localhost:5432
现在当你连接你的SSH服务器时,它会在你本地电脑打开一个5433端口(我随便挑的),并将所有发送到这个端口的数据转发到服务器的5432端口 (Postgres的默认端口),然后,只要你和服务器建立了连接,你就可以通过5433端口来访问服务器的Postgres了。
$ ssh db
现在打开另外一个窗口,你就可以通过下面这条命令在本地连接你的Postgres数据库了:
$ psql -h localhost -p 5443 orders
如果你想要使用服务器不支持的图形化Postgres客户端时,这条命令会显得尤其有用:
$ pgadmin3 &
或者你有一个后台的Web服务器,你不希望直接通过Internet访问它,你也可以通过端口转发来访问它:
Host api
LocalForward 8080 localhost:80
现在连接到服务器:
$ ssh api
然后将浏览器指向你选择的端口号:
$ firefox http://localhost:8080/
15. 减少延迟
如果每次连接服务器都意味着你需要等待几十秒而无所事事,那么你或许应该试试在你的SSH配置中加入下面这条:
GSSAPIAuthentication no
如果这条命令有效的话,你应该通知你的系统管理员让他在服务器上禁用这个选项,这样其他人就不用再分别添加这条配置到它们的本地配置了。
16. 加速连接
如果你确保你和某个服务器之间的连接是安全的(比如通过公司内网连接),那么你就可以通过选择arcfourencryption算法来让数据传输更快一些:
Host dev
Ciphers arcfour
注意这个加速是以牺牲数据的“加密”性为代价的,所以如果你连接的是位于网上的服务器,千万不要打开这个选项,并且确保你是通过VPN建立的连接。
开始行动吧!
以上就是我收集的高效使用SSH的技巧合集了,如果你还有更多技巧想要分享,记得通过Smylers@cpan.org或是通过@Smylers2来和我联系。
现在就赶紧行动试试通过这些技巧来让你的SSH更有效率吧!
———–
本文来自SSH Can Do That? Productivity Tips for Working with Remote Servers,作者:Smylers,翻译l整理:@yuanyiz
来源http://heikezhi.com/2011/08/26/ssh-productivity-tips/

2010年2月25日星期四

寻找精品国外免费空间的经验分享

我刚玩免费空间时也和大家一样先在Baidu里输入:“免费空间”,就这样出来好多网站,然后一个 一个去点击看,就这样我找到了我的第一个免费空间——国内的拓风免费空间。虽然它只有20M可是我当时就很高兴了,于是就装了DVBBS论坛系统。过了一 年,空间到期我又接着去找别的空间,就这样找啊找啊,在找的过程中我了解到一些说法,就是国内空间全都不可信的道理,这话可以说是真的,当然也不排除有些 国内的免费空间还是不错的,比如:亿家地平线。不过5944免费空间真 的烂的不行,这个我用过,刚用一个星期就把我网站给删了,我当时真想日它,害的我辛苦了一个星期,全打水漂了。就这样我把找的对像放在 了国外的免费空间上面。接下来我就把我这三年来探索找免费空间的方法与经验告诉大家吧,当然这也只是我个人的经验,反正我就凭着我的经验找到了几个精品免 费空间,都有2年多了还在。
首先找国外免费空间要了解一些该网站的相关信息,比如:PR值,网站排名,网站域名,网站空间商等相关信息。下 面我就来具体说说这方面方法。
1、PR值:PR值是Google所推出的一个关于检测网站人气的实力的方法,PR值越高越好。PR值分为 1-10,PR值到10就是最高了,不过很少有网站能到达这么高。PR值的查看方法可以到Baidu或Google里自已去找吧。
2、网站排名:这也是一个检测网站实力的方法,排名越小越好,Alexa排名1000以内的免费空间就很不错 了,110mb免费空间的排名就在1000以 内的,所以就很不错了。
3、网站域名:这个怎么查呢,也就是查看网站域名的Whois,看看空间商的域名是什么时候注册的,还有多久到 期,一些新开放的空间可能不稳定。
4、网站空间商:这个要怎么查呢,在这里我给大家一个查找地址:http://www.whoishostingthis.com, 看看是否可靠。
5、NS查询:就是查看空间商的NS地址多不多,有的网站会有NS1,NS2,NS3,NS4......一般 就两个,也有4个的,更多的还没见过,可能有吧。然后查看NS1和NS2它们的IP地址是不是相同,最好是在同一个IP段内,比 如:192.161.1.1和192.168.1.2就是这个样子。
6、申请成功后不要急于建站,先上传一个探针。查看操作系统、支持语言(一般是PHP)、上传限制(可以自己先 测试一下)、是否有禁用函数等等。按照你自己的规划来决定此空间是否合适。
7、免费空间提供的越大越不安全(个人看法),比如说空间大小:5G,10G,20G,20G,或者更大的,这 些都不太可靠,挂的很快,尤其是CP的空间,因为CP的授权很贵,老外可能也就买了几个月的授权期,通过“超大空间”吸引点击,赚点广告费就关门大吉了; 当然也不排除有这样好的空间商如000webhost
8、如果你建博客,不用追求超大容量,一般博客写个300篇日志,数据库文件就2M多,加上博客程序,一共也不 超过10M。你把博客所有的图片都保存在支持外链的网盘里,所有视频都放在优酷、土豆网里,然后链接过来。所以你的空间几乎只用来保存文字,这样就省了很 多空间。
9、如果你建博客,不用追求超大月流量,一个月流量5G的空间,足够支撑起日IP1000的访问量。如果你的站 日IP超过了1000,那就说明你的站是常青树,不需要再去用免费空间了。对于一个日IP1000的站,如果放上Google广告,一年下来的广告费也足 够你买一个优质空间了。
10、申请前记得先检查一下该空间下有没有违法网站,比如你想申请www.xxx.com网站提供的免费空间,请先在Baidu或Google里输入 site:xxx.com搜索一下,xxx.com域名下面有没有违法网站。如果有,请放弃www.xxx.com,因为它很快就有可能被G F W封锁。
11、很多人都会把容量、月流量作为免费空间的参考要素。大家都去找1G容量,100G月流量的空间了。如果你能与众不同,选一个容量100M,月 流量5G的稳定空间,申请此空间的人少,那么被封锁的机率也会小很多。你也可以省下心来专心做自己的网站。
12、一般论坛申请的或者邮件申请的空间稳定性会比较好
13、查找网站信息的地方:http://tool.chinaz.com(站长工具)

2010年2月20日星期六

3种方式解决WordPress插件不能自动升级更新问题

WordPress博客平台最为方便的一项功能就是它可以自动更新升级并且其安装的插件和主题也可以在WordPress后台方便的一键更新。不过这项功 能却并非所有人都能够享受到,因为自身空间的关系,WordPress有可能没有被安装在根目录之下,这就会导致WordPress更新时定位不到目录的 情况,出现:
Cannot find Content directory (WP-Content)” 或者 “Unable to locate WordPress Root directory. Installation Failed”的提示。
下面介绍3种WordPress插件不能自动升级更新的解决方式
1、更改wp-config.php文件
打开wp-config.php文件,在”?>”之前添加代码:
if(is_admin()) {
add_filter(‘filesystem_method’, create_function(‘$a’, ‘return “direct”;’ ));
define( ‘FS_CHMOD_DIR’, 0751 );
}保存上传即可
2、如果允许创建多个FTP账号,则建立一个新的FTP账号,将博客目录设置为该账号的主目录,当WordPress更新再次出现账号密码框时,填 入此新建账号的信息即可
3、最简单的一种方式,使用插件Third Party Host Fix,无设置选项,上传至空间激活即可使WordPress自动更新升级恢复正常。(更新完成后记得暂停插件,不然会引起Feed错误)


前一段时间一直在后台不能上传安装主题,插件,在外网找了些教程终于解决,不知道原理,但与您分享~

如下
打开wp-config.php
在最后一行的  }?>  前添加
/* Fix Wordpress autoupgrades on Byethost.com */

putenv('TMPDIR=' . ini_get('upload_tmp_dir'));
if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
保存上传
得以解决~

2010年2月19日星期五

7款本地PHP环境搭建工具

一直使用XAMPP搭建本地PHP环境,之前还介绍过本地XAMPP搭建和安装Wordpress如何让本地XAMPP支持Rewrite重定向,但最近我的XAMPP出现很多灵异现象,先是每次安装后用上一 两天页面就会变成500,卸载重装甚至重装系统又全新安装都无法启动Apache和Mysql(非端口问题)。于是寻找一些其它PHP本地环境搭建工具。

7款本地PHP环境搭建工具

1. XAMPP
XAMPP是一款比较强大的本地测试平台,它集成了必须的三个功能,还带有 FileZilla,软件带有一个控制面板,在里面可以把Apache、MySql和FileZilla三者注册为系统服务或者卸载服务,有服务启动的控 制按钮,而且在窗口下部还能看到服务的运行信息。虽说面板是英文的,但清楚易懂。注册为系统服务有个好处就是开机能够自动运行,但是会消耗一定的系统资 源,怎么取舍用户自己来定。安装成功,服务也启动成功后,就可以把浏览器打开输入http://localhost/,试试是否成功。在XAMPP的网页 选项里,有中文支持。
2. Wamp Server
它的官方网站没有中文,但是程序支持中文。启动安装程序后,它会提示你请先卸载旧版,不支持 覆盖式的升级,然后一路NEXT就能安装成功。它在任务托盘里有个图标,如果服务启动异常,它 就是红色的;如果部分异常,它就变成黄色;如果是一切正常, 那么它就变成了白色。这些不同的颜色警示,你很容易判断当前你的localhost能不能打开。它还能切换在线和离线状态,选项中的文语言项中也有简体中 文可选,很不错。
3. Vertrigo Server
这是一个轻量级的WAMP环境,但是你下载它的时候,迅雷自带的安全组件居然说它带有病毒。 经过我的扫描(ESS3.0)和使用来看,这完全是个误报,所以大家可以放心使用。安装一路NEXT就行,其中PhpMyAdmin中居然还有原始密码, 是vertrigo,感觉在本地测试的话,这种默认没有必要。它带有一个简单的控制面板,运行状态也一目了然。
在它的localhost页面中带有常用链接,很方便。
4. PHPNow
PHPNow真的很简单,简单到安装程序就是用RAR做的一个自解压程序。自释放后快捷方式 也没有,你必须自己找到那个文件存放的文件夹,然后运行Init.cmd这个程序来初始化。初始化过程中提示设置密码,因为是在CMD命令行中,只设计了 一次密码输入,没有密码确认项,所以请设置的时候千万小心,不要忘了。它也把式Apache和MySql注册为服务,开机自启动。
在程序文件夹中,它也带有控制面板,只不过是CMD的,但很好用。
卸载就更容易了,在软件自带的控制面板中卸载服务,然后关把整个文件夹删掉就行。这么方便,图简便的可以试试。
5. PHPStudy
PHPStudy不一样,它含有IIS+PHP和Apache+PHP,软件推荐设置是后者。在任务托盘里也有图标,可以打开面板来看服务运行状 态,也很简洁。
打开localhost,出现的是标准的PHP信息界面。
6. AppServ
程序安装过程中它提示你可以改变默认的80端口为服务端口,这样可以避免端口共享产生的冲 突。可有密码设置提示,但是做得比PHPNow好多了,软件还可以设置字符集,默认为UTF-8。虽然软件没有控制面板,但一切操作都在开始菜单中加入了 快捷方式,使用当然很方便。软件还带有MySql命令行终端。
7. EasyPHP
软件如其名,真的很EASY!安装一路NEXT,但是不会把Apache和MySql加载为服务,所以每次使用都要手工来启动。软件也带简单的控制 面板,其他的没什么要说的了。
注:以上介绍原文出自linxo.cn,不过该网站已不在,就不列出原文地址了。

常见的两个问题

其实我只使用过XAMPP和EasyPHP,但一般都大同小异,最常碰到的两个问题就是由于端口问题无法启动Apache,和无法在本地实现 Rewrite。
1. 由于端口问题无法启动Apache
如果是由于端口问题无法启动Apache, 那就关闭其它程序,一个一个的试,确定是哪个占用了80端口,最常见的就是迅雷。
2. 本地开启Rewrite模块
其它是否适用我不知道。XAMPP和EasyPHP, 找到httpd.conf这个文件,打开编辑,把所有的AllowOverride None换成AllowOverride All, 再把#LoadModule rewrite_module modules/mod_rewrite.so前面的”#”号去掉即可。