首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaMail使用SSHD端口(在开放网络上时)

JavaMail使用SSHD端口(在开放网络上时)
EN

Stack Overflow用户
提问于 2012-06-18 06:05:48
回答 2查看 172关注 0票数 0

我有一个(希望)简单的问题。当您在公共网络上时,是否可以使用SSHD隧道来使用JavaMail安全地访问Microsoft Exchange服务器?我读到有人使用SSHD隧道来安全地使用机场wifi,我能对我的邮件客户端做同样的事情吗?

考虑下面的代码片段,它当前允许我登录到我的邮件服务器(假设用户名和密码正确)

代码语言:javascript
复制
1 Properties props = System.getProperties();
2 props.setProperty("mail.imap.port", "993");
3 Session session = Session.getInstance(props, null);
4 Store store = session.getStore("imaps");
5 store.connect(host, name, pass);

我的问题在第2行,端口993是在我的机器上还是在邮件服务器上?我是否可以使用端口8080简单地通过SSHD连接到我的办公室,并用8080代替993,从而使用我设置的安全隧道?

注意:据我所知,我没有加密任何网络流量,即使它是通过“安全无线”的方式自然加密的,我仍然希望有一个额外的保护层。感谢您抽出时间来阅读

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-18 06:59:52

端口993位于邮件服务器上。除非您能够通过ssh进入运行邮件服务器的机器,否则设置所需的隧道并非易事。如果您只能通过ssh连接到您办公室计算机,那么您需要在该计算机上有一个端口,您可以通过该端口连接到您的邮件服务器。您可以使用类似netcat程序的东西来设置一系列隧道,但同样不是那么简单。

票数 1
EN

Stack Overflow用户

发布于 2012-06-20 11:41:27

您可能在ssh中读到过代理服务器支持。在这种情况下,您需要的是更简单的。

代码语言:javascript
复制
ssh -L 8080:mailserver:993 user@officepc

此语句表示侦听本地计算机的端口8080。而发往端口8080的流量应该发往mailserver:993。要到达mailserver:993,流量首先要通过到officepc的安全连接。

因此,您需要修改应用程序以连接到localhost:8080。

请注意,localhost->officepc之间的通信由ssh保护,但来自officepc->mailserver的通信不受ssh保护(但如果协议是安全的,则可能是安全的)。如果ssh在邮件服务器上运行,您可以:

代码语言:javascript
复制
ssh -L 8080:mailserver:993 user@mailserver

这种类型的东西在网上冲浪比使用电子邮件更重要,因为使用电子邮件更容易确保您已经在使用SSL/TLS。

然而,有时为了打击垃圾邮件,互联网提供商可能会阻止邮件端口(25是最常见的)。SSH隧道在这种情况下可能会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11075184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档