IT技术互动交流平台

在Mac下用Alfred快速ssh -D

来源:JerryQu的小站  发布日期:2013-04-27 10:06:29

Mac下有个很好用的ssh工具叫shimo,唯一缺点就是贵。由于我只用他的ssh转发功能,花¥200多还是有点舍不得,最近又迷恋正版不忍心用破解的。免费的iSSH,以及它的改进版,之前也能凑合着用,但自从升级系统到10.8.4测试版后都会直接崩溃。

最近大部分时间使用的是https proxy方式访问受限网站,ssh -D用得也不是很多。今天研究了下,配置了一个alfred workflow用来快速开启ssh proxy,简单记录下。

先在workflows界面左下方,选择"Templates"->"Essentials"->"Script Filter to Script"新建一个workflow。这个模版默认会生成"Keyword"和"Run Script"两个模块。

KeyWord模块是用来设定用什么关键字触发这个workflow,关键字只要不跟其他workfow冲突就好了,我用的是“sshd”。接着设置关键字是否接受参数,我们这个不需要参数,选择“No Argument”。下面的Title和Subtext都是一些说明性文字,看着填就好了。新建的workflow默认没有icon,把图片拖到右侧的方格上就有了。www.it165.net

Run Script模块用来设定workflow触发后要执行的操作。先选择Language,也就是你的代码使用什么编程语言写的。选择项很多,有bash、php、python、ruby、perl等等。实际上,只要能处理标准输入输出,任何语言都可以用来开发workflow。Script框用来填代码,如果代码比较长,可以点击“Open workflow folder”打开workflow目录,把代码存在这个目录,在Script框里引用就好了。描述起来比较复杂,自己动手试下或者看下其它workflow会发现其实很简单。

我的这个需求,只用在Script框填写ssh -qTfnN -D7070 yourname@example.com就好了,输入密码这个麻烦的事情建议通过信任关系来解决。不知道怎么建立信任连接的同学,可以看老六写的mac下建立信任关系和快速登录。

ssh进程有时候会挂掉或僵死,而要监控ssh是否在正常工作又很麻烦。我选择每次ssh -D前先结束掉已有的ssh进程,这样发现不好用就再运行下,基本够我用了。整个workflow一共就2行代码:

kill -9 $(ps -ef|grep ssh|awk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ') ssh -qTfnN -D7070 yourname@example.com 

 

Tag标签: Mac   Alfred  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规