2011-06-03 77 views
0

我正在开发一个iPhone应用程序,该应用程序通过tcp套接字连接与远程服务进行通信(该服务实际上在telnet上进行侦听并使用telnet命令)。连接当然是不安全的,并且所有请求(包含相当多的敏感数据,如密码)和响应都以纯文本形式传输。我的第一反应是用ssl来考虑web服务,但是从头开始web服务似乎太冗长了。
如何以编程方式在iPhone上设置ssh隧道以访问远程服务?

因此,我一直在考虑使用ssh隧道来保护流量。是否可以在iPhone应用程序(例如libssh2)中设置ssh隧道,然后使用该隧道安全连接到远程服务?如果是这样,我应该如何建立隧道,最重要的是,我应该如何连接到远程服务并发出命令/接收响应?最后,关于隧道我应该记住什么?

编辑:我忘了提及运行该服务的服务器正在使用Windows。 SSH是通过Cygwin实现的。

如果问题太基本,我很抱歉,但这真的是我第一次真正用ssh刷了。

在此先感谢。

回答

0

我想你可以通过使用SSH隧道,因为没有在应用内的牵制认证信息的安全方法和好,如果有人能得到他们可以想见,连接到登录信息有更多的安全问题,您的ssh会话并开始尝试发出任意命令。当然,有些方法可以锁定ssh会话,但是我仍然对此非常谨慎。至少有一个Web服务,它作为iPhone应用程序和telnet会话之间的“经纪人”,所以你可以添加额外的保护层。

+0

我明白了。我怀疑这可能是一个问题。我忘记提及远程服务托管的服务器是一个Windows机器(通过Cygwin实现的ssh)。这会改变什么吗? – Kiril 2011-06-03 15:27:05