Mac开机后台自动连SSH Tunnel越某墙
08072011 / 3 Comments / 计算机相关
英文的表达比中文的好写多了,呵呵。Anyway, let's dive into some real stuff. 0. Before 我用的是Dreamhost,一直有在Terminal下不厌其烦地登陆跟输入密码。最不喜欢的是在dock下有个大大的icon。所以找了好久,终于在 Kimmo Suominen 的blog里找到了答案。本文基于 Kimmo Souminen 的 SSH 而写成的。 很明显用SSH Tunnel的人都知道要达到目的,我们要在Terminal下运行这个类似的command: 有了-D就建立起了隧道链接,本地的端口设上7142就能连上了。不过更加人人皆知的是Mac下的ssh是木有-P这个密码argument的。于是乎就有了此文了。 1. 保存SSH密码,自动登陆 首先我们要按照下面一步一步地把我们的密码保存到本地。 先输入下面这条命令生成密码文件。 之后: 这样,密码文件就生成成功了。 我们刚刚保存的文件是系统文件,所有的信息都会保存在那。所以嘛,还是自己copy一下只给自己用,也免得出事了不知道哪办。运行下面两条命令。 然后我们要把文件跟登陆密码link up才能实现在登陆的时候让ssh自动调用保存了的密码。 这时候,我们保存密码的工作就完成了。 现在你只要在Terminal下输入下面的命令,不用输入密码就能自动登陆。 2. 开机自动后台登陆 我的想法就是不用弹出个SSH也不借助任务第三方工具来做后台运行。很自然地想到要做个daemon或者agent神马的。如果你觉得很陌生,想想VMWare Fusion或者Parallel啥的会加个plist的文件在开机的时候调用,不然就想iPhone的优化就是删除这些launch的时候会调用的daemon。 我现在用的是这个,将下面的内容保存为com.ssh.tunnel.plist,或者点击此处下载。如果是只为当前用户启用,可以保存到~/Library/LaunchAgents/,想全局用户使用,就保存到/System/Library/LaunchDaemons/。 这个文件保证了:a) 开机自动后台运行了SSH的登陆命令并且建立隧道,端口是7142;b) 如果断开自动重连。 如果你对命令还有别的需求,可以在那堆string里面添加。 这时,你就已经完成了所有设置,并在重开机之后就会直接连上隧道。 3. 后话 之后,你就可以在Network Preference或者用Firefox AutoProxy连了。我用的是全局+PAC。 如果有什么不明白的,feel free to contact me。