SSH端口转发仅适用于源端口Any


0

我正在尝试为SSH设置端口转发,以便我可以从另一个网络连接到我的覆盆子pi。

我的路由器(DRG-A125G)中有这些页面: 在此输入图像描述 在此输入图像描述

它只有在我指定源端口Any(它意味着什么?)和目标端口22时才有效。如果我将两者都设置为22或一个设置为12386而另一个设置为22则无法连接。

Answers:


1

源端口是SSH客户端绑定的端口,用于连接位于端口22上的覆盆子上的SSH服务器。

需要客户端端口,因为响应数据包(从SSH服务器到SSH客户端)必须在网络上有目的地(SSH客户端IP地址和SSH客户端进程正在侦听的端口)。

客户端通常在每个连接上选择一个随机免费的非特权端口(> 1024),因此如果您选择特定的源端口,端口转发将不起作用(除非您的SSH客户端非常幸运地选择此特定端口)。

因此,为了到达SSH服务器,您必须选择“任何端口”选项作为源。

请注意,选择“任何端口”本身并不是安全威胁,而是应该考虑进行一些安全修复,以保护自己免受未经授权的访问,例如:

  • 选择一个好的密码,或者更好的是,只允许通过SSH密钥登录
  • 将源IP地址限制为特定的可信范围(如果可能)
  • 使用fail2ban等限制最大失败登录尝试
  • 不要直接暴露SSH,而是通过OpenVPN等VPN服务

HM。那么为什么大多数教程都建议将两个端口设置为22?如raspberrypi.stackexchange.com/questions/6757/...portforward.com/english/routers/port_forwarding/Pirelli/...
AlexP11223

每个ADSL路由器都有一个不同的端口转发配置接口和相同输入字段的不同标签试图“简化”事物......可能“源端口”意味着“外部端口”应该打开互联网端并转发的端口去覆盆子。如果我的理论是正确的(并且应该是,因为在portforward.com上编译为22)你必须将22作为源端口,或者,如果你愿意,你可以放置另一个端口(12345),但你必须指定不标准您连接命令中的端口ssh -p 12345 <your public IP>。你可以尝试让我知道它是否有效吗?
Tsumi 2016年

是的,正如我之前所说:22或源22目的地12386或反之亦然(当然也在客户端指定它) - 无法连接,源任何目的地22 - 工作。
AlexP11223 2016年

等等,让我总结,来源任何 - 目的地22 - >工作,源22 - 目的地22工作,源12345目的地22 - >不起作用,源22目的地12345 - >不起作用,对吗?(我问的是因为在原始问题中我明白22-22也不起作用......)当它不起作用时你会得到什么错误?拒绝连接?超时?
Tsumi 2016年

不,来源22目的地22也不起作用。所有三种情况下的连接超时。
AlexP11223
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.