如何设置Ubuntu 10.04机器仅接受来自本地网络的ssh请求?

我正打算安装10.04版本(从头开始以取代9.04),并且我想设置它,使得我可以从本地网络中的其他机器上ssh登录到该机器上,但是只限于192.168.1网段的IP地址。(即,我希望拒绝除了192.168.1网段之外的所有ssh尝试。)在10.04上如何正确实现这一点?

4hosts.allow/deny的答案是正确的,但对于您的家庭网关/路由器来说,静默地忽略所有从端口22(以及大多数其他端口)进入的数据包也是有意义的。 - msw
@msw:我已经设置好了我的路由器,让它静默地忽略传入的请求,但是把这个提示放在这里是个好主意。谢谢! - vanden
2个回答

你需要编辑两个配置文件/etc/hosts.allow/etc/hosts.deny(你可以通过man hosts_access获取格式的详细解释):

etc/hosts.allow:

sshd: 192.168.1.

etc/hosts.deny:

sshd: ALL

在这两种情况下,你可以用ALL替换sshd,这样这些规则不仅适用于ssh服务器,还适用于可能正在运行的所有其他守护进程。

除了使用hosts.allow和hosts.deny,您还可以使用防火墙。在Ubuntu中,默认安装了"ufw"。您可以通过以下方式启用它:
sudo ufw enable 然后,使用以下命令限制ssh连接:
sudo ufw allow from 192.168.1.0/24 to any app OpenSSH
这样就可以了。我相信FireStarter应用程序也可以提供ufw的图形界面配置。

1值得一提的是,应用程序配置文件现在是“OpenSSH”吗? - user8979