我正在尝试保护我的 Debian 服务器,并注意到如果我输入,telnet myserverip port#
那么任何人都可以看到我的 ssh 版本。我有点担心除此之外人们还会造成一些伤害。我怎样才能让我的服务器拒绝任何与 telnet 相关的请求?我用谷歌搜索了一下,但大多数网站都告诉我修改我的 init.d 文件,但首先没有 telnet 服务。我确信我误解了有关 telnet 的一些事情以及它的工作原理,如果是这样的话,很抱歉。
答案1
SSH是一个TCP服务,没有办法知道客户端是telnet还是其他什么。如果您想隐藏您的系统版本和/或系统架构,您可以尝试例如:
http://en.wikipedia.org/wiki/Port_knocking
或者,用您自己的“版本”重新编译 openssh 也很简单。 AFAIR 有一个头文件,其中包含您可以更改的 #define 。应该不难找到。只需 grep 来源即可。
答案2
如果您不打算使用它为什么不卸载它呢?
apt-get --purge remove openssh-server
如果您不想卸载它,可以使用以下命令禁用其自动启动
update-rc.d -f sshd remove
或者您可以按照 smrt28 的建议进行操作,并可以自己编译并更改版本,这样就更难以识别它。