Soft,Mac

转载:Mac OS 下一个轻量级 SSH 代理小软件 - SimpleSSHProxy

来源:

http://ivsays.appspot.com/2010/09/14/SimpleSSHProxy-for-Mac-OS.html


由于某些特殊的原因,我们需要使用 SSH 代理来访问一些网站。在 Windows 下有 myEnTunnel 等管理 SSH 的小软件,而在 Linux 和 Mac OS 下,系统一般已经自带了 OpenSSH 客户端,所以可以直接在终端命令行下来进行 SSH 的连接。但是不是所有人都喜欢在键盘上敲命令的,而且用 SSH 作为代理使用也有一些缺点,比连接空闲一段时间会自动断线。当然你可以用 autossh 这个工具,但是 autossh 也有它办不到的事情。所以我做了一个小软件,即 SimpleSSHProxy,顾名思义,是一个简单的 SSH 代理管理小软件,它有以下特点:

  • 小巧,整个软件和源代码的压缩包才200多KB。
  • 使用方便,软件显示为菜单栏图标和下拉菜单,无 Dock 图标,不会对你的工作界面产生干扰。
  • 简洁,仅提供与代理相关的一些参数设置,不会另人感到困扰。
  • 功能完善,可以提供 Socks 和 HTTP 代理,满足不同的需求。可以为其他电脑提供代理。支持通过 autossh 来自动管理 SSH 连接,在使用密码验证的情形下也能提供类似 autossh 的连接保持、掉线检测和重连功能。详细实现方法见这篇文章

SimpleSSHProxy的界面截图:(还没正式发布,所以暂时还没有设计图标~)

screenshot1

screenshot2

一些说明:软件的实现其实很简单,通过后台调用 polipo 来实现 HTTP 代理,调用 autossh 或一个 expect 脚本来连接 SSH。设置选项上,相信用过 SSH 代理的同学一看就知道怎么设置了,需要说明的就两点,“为其他电脑提供代理”,选中后,如果你的局域网中有其他电脑或设备,只需将代理设置为本台电脑的 IP 和相应端口,就可以使用 SimpleSSHProxy 提供的代理了。“使用密码”选项,我已经提到过了,autossh 对使用密码的 SSH 认证无法很好的支持,但是 autossh 的连接管理特性又十分方便,所以,如果你使用的是 SSH 密钥验证方式,就不用选择“使用密码”,软件就会调用 autossh。如果你不得不使用密码验证,软件会调用一个 expect 脚本来连接 SSH,同样可以提供类似 autossh 的断线重连等功能。当然还是推荐大家设置 SSH 的密钥认证,具体设置方法请自行搜索。如果你实在懒得设置密钥或者服务器比较特殊,只支持密码验证,那就没的选了。我也打算在软件的后续版本中提供一键设置 SSH 密钥的功能来方便大家,你也可以等一等~

SimpleSSHProxy 是我初学 Objective-C/Cocoa 的第一个小作品,现在也仅仅是半成品阶段,欢迎大家测试,对软件有什么意见或建议尽管提出来。至于发布许可证什么的,我也懒得弄了,软件和代码大家随意传播和使用,当然,如果你在传播时能稍微提一下我和这篇文章,那真是感激不尽了~

SimpleSSHProxy 目前的版本为 Pre-release rev3.2,源码和软件点此下载

PS:差点忘了,感谢国家

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

回复

  1. Jerry Jerry
    Chrome 72 10

    能否支持一下通过代理服务器来连接ssh啊? 在公司必须设置代理服务器才能连外网。

    1. harry harry
      Chrome 72 10

      似乎不支持呢

This is just a placeholder img.