改变SSH端口,但在端口22欺骗

我更改了SSH默认端口(通过更新/ etc / ssh / sshd_config文件中的端口属性)。 但是,如果有人尝试通过端口22连接到SSH,我想要做的仍然是让所有的东西看起来像预期的那样工作。

目前,在更改SSH端口并尝试通过端口22login后,SSH返回:

ssh:连接到主机server_ip端口22:连接被拒绝

有没有办法返回正常输出“input密码”,但configurationSSH从不接受端口22的login?

我的想法是,如果有人试图蛮横强迫我的服务器,他们将尝试的第一个端口是22.但是,如果我可以欺骗的东西,并显示SSH端口22上工作,他们会浪费他们的时间,会永远不能访问。

试图在网上search,但它带来了不必要的结果。

谢谢!

在两个不同的端口上运行2个不同的SSH服务器是可能的,一个拒绝所有的连接,同时以正常的顺序出现,另一个工作正常。

为什么会这样做,虽然超出了我。 投资IPS,IDS,防火墙这样的防御,似乎是审慎的做法,只要有足够的资金。

如果你只是想拒绝访问脚本小子,禁用密码login,并坚持使用公钥login。

限速和fail2ban对机器人来说是一个足够好的威慑IMO。

这听起来也许就像你想运行一个SSH蜜jar。 有很多select取决于你想要的互动水平。 Kippo是一个受欢迎的。

但是除非你有足够的理由这样做,否则我同意你应该只使用fail2ban或DenyHosts 。

如果您在端口22上运行单独的SSH服务器,则可以将其设置为不允许任何用户通过使用sshdconfiguration文件中的AllowUsers选项来login。 手册页说:

  This keyword can be followed by a list of user name patterns, separated by spaces. If specified, login is allowed only for user names that match one of the patterns. Only user names are valid; a numerical user ID is not recognized. By default, login is allowed for all users. If the pattern takes the form USER@HOST then USER and HOST are separately checked, restrict- ing logins to particular users from particular hosts. 

您可以设置不存在的用户名,并允许它仅从本地主机连接。 SSHD仍然可以在端口上使用,但攻击者尝试使用的任何用户名将不被允许login。

您还可以将其与需要公共密钥login并禁止密码相结合,以增加安全性。

然而, 正如凯斯伯德所说 ,封闭的港口总是比一个听到它的港口更难妥协。 尽pipe有这些措施,您仍然可能会受到sshd服务器软件中的漏洞攻击,这些漏洞可能允许攻击者进入。