“我是如此得深爱着 ssh”July 27, 2010

ssh 绝对不不仅仅是类似 telnet 这样远程登录管理主机那么简单。下面的些 技巧,或许可以激发起你对这个“老朋友”重新认识的兴趣。

有部分内容来自:http://derwiki.tumblr.com/post/841579929/how-i-learned-to-stop-worrying-and-love-ssh

建立 HTTP 隧道

如果你需要访问线上集群中某台内网主机,那么你可以这样

ssh -f -N -L 31609:192.168.0.1:80 remotehost

当运行完毕以后,打开本地浏览器访问 http://localhost:31609 端口,则可以获取 remotehost 访问 192.168.0.1 的 80 端口的数据。

反向 ssh 隧道

如果本地局域网无法访问某些站点,那么你可以利用你的 ssh 主机通过它去访问。你可以使用

ssh -D 8080 remotehost

然后设置代理为 localhost:8080 则可以通过 remotehost 访问制定的资源。

PS,如果你使用 Mac,并经常会这样干,那么你会喜欢这个工具

直接运行远程脚本

ssh 其实可以直接指定运行远程主机的命令。例如,每次登录并查看线上的日志是件非常繁琐的累活。其实你可以使用下面的命令

ssh user@remotehost "taif -f /var/log/apache/access.log"

它会 ssh 登录以后直接执行指定的命令。这样我们可以构建本地脚本让其接受远程服务器的输出,做更多的事情。

压缩传送文件和目录

有时候不想开启 SFTP 工具传送文件,那么下面的命令会帮到你

tar cvfz - localFileOrDir | ssh user@remotehost 'cd /remote/path/to/unpack/ ; tar xvfz -'

这个命令可以自动讲本地的文件或者目录打包压缩以后,通过 ssh 传输到 remotehost 主机,然后 remotehost 会自动将其解压缩。

自动登录 ssh

最后个 ssh 技巧,上面的技巧的确是很实用,但是我们也受不了每次都要输入次密码。如果你的确厌烦了这些,那么尝试执行下面的命令:

ssh user@remotehost 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub

这样远程的主机就会保存你本地的公钥,你就可以自动 ssh 登录远程主机(详细)。

顺便提醒:强烈提醒您保护好您主目录下的 ssh 私钥,否则您的帐户可能会面临风险。

还有些有用的参数

各位还有什么其它好用的 ssh tips,欢迎不吝指出。

-- EOF --

Mac 下禁用 CNNIC CA 证书February 2, 2010

有关 CNNIC 的警告这里有个详细的说明,不多做解释。对于 Mac 用户,这里有个简单的办法禁用 CNNIC CA 证书。

http://files.gracecode.com/2010_02_01/1265080937.png

打开“钥匙串访问”,搜索 “CNNIC ”即可看到对应的证书。双击该证书

http://files.gracecode.com/2010_02_01/1265080978.png

下拉“信任”选择“永不信任”即可。

根据上述文中的提醒,同时把有“entrust.net”关键字的证书也禁用掉,这样就没有上述文中的风险了。

先不讨论文中有关证书的风险,但 CNNIC 的流氓已经众人皆知,这的确让人感到很不安。因此,个人对于这件事的态度,也是“宁可信其有,不可信其无”。

个人信息安全这块,有时候往往会忽视。国内的大环境如此,也只能是人人自危。

PS,这里有个投票号召众浏览器厂商移除 CNNIC 证书,有兴趣可以看下查看结果)。

-- EOF --

使用 JavaScript 获取本地盘符January 8, 2010

http://files.gracecode.com/2010_01_07/1262936624.png

可能是我“火星”了,不过在 空虚 的 Blog 中学到的一招。这个技巧的原理是利用 iframe 载入本机各盘符的根目录,然后判断 iframe 是否已经载入完毕,从而判断对应的本地计算机的盘符是否存在。

根据目前的测试情况,在 IE6、7、8 下使用默认安全策略均可以获取到本地盘符。利用这个技巧,可以做的事情有还有很多。例如“摸黑”判断指定路径是否存在文件,即可以获取对应的信息,例如 Windows 的安装位置等等。

根据 空虚 的代码,我改进了下,即检测 A-Z 所有的盘符,并获取已经存在的盘符输出。还是上代码吧,DEMO 在这里源代码在这里

再次感谢 空虚 和 KJ 的提示,很受用。

-- EOF --

  1. 1
  2. 2
  3. 3
  4. 4
  5. ...
  6. 10
Yahoo 统计