什么配置阻止本地 ssh 连接到我的服务器?

什么配置阻止本地 ssh 连接到我的服务器?

因此,我最近购买了一台 Raspberry Pi,用基于 RetroPie Debian 的映像来开展一个小型热情项目。
我现在正处于想要完全屏蔽服务器只允许特定连接的阶段。对于我的用例,它们如下:

  • 仅允许来自服务器所在同一网络的入站 ssh 连接
  • 仅允许到特定 IP 的出站连接

为了实现这一目标,我采用了两种不同的方法:安装和配置ufw入站/出站连接以及hosts.allow额外hosts.deny的安全性。

这是我当前的设置:

hosts.allow

sshd: LOCAL
sshd: 192.168.1.0/255.255.255.0 # allow ssh from local network IPs only
sendmsg: 8.8.8.8 # allow ping google DNS to validate internet connectivity


hosts.deny

sshd: ALL


ufw:
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    192.168.1.0/24             # from local

XX.XX.XXX.XXX 443/tcp       ALLOW OUT   Anywhere                   # to specific IP
XX.XX.XXX.XXX 443/tcp       ALLOW OUT   Anywhere                   # to specific IP
XX.XX.XXX.XXX 443/tcp       ALLOW OUT   Anywhere                   # to specific IP
140.82.121.4 443/tcp       ALLOW OUT   Anywhere                   # to github
46.235.231.151 80/tcp      ALLOW OUT   Anywhere                   # to raspberry registry
93.93.128.193 80/tcp       ALLOW OUT   Anywhere                   # to raspberry registry
XX.XX.XXX.XXX 443/tcp        ALLOW OUT   Anywhere                   # to specific IP

目前发生的情况是,每当服务器重新启动时,我都无法通过 ssh 从我的机器(与 Raspberry PI 位于同一网络上)进行连接,该机器当前的 IP 为192.168.1.65,即使它可能是动态的,也永远不会离开特定的 IP上的 IP 范围hosts.allow

每当我重新启动服务器时,我都需要手动使用键盘连接到 Pi 以便sudo systemctl stop ufwssh 连接可用,但是为什么如果我设置了入站规则ufw以允许来自本地 IP 范围的端口 22 上的 tcp 连接?我在这里错过了什么吗?

先感谢您。

答案1

PasswordAuthentication no我不确定为什么这解决了这个问题,但在我禁用和后,它现在似乎工作正常PermitEmptyPasswords no,因此默认 ssh 强制密钥身份验证。

最初发布的文件没有进行任何更改hosts.*

还运行sudo systemctl restart sshdsudo systemctl restart ufw刷新任何更改。重新启动系统,我现在可以使用生成的私钥/公钥对登录。

相关内容