ローカルSSHが私のサーバーに接続するのを防ぐ設定は何ですか?

ローカルSSHが私のサーバーに接続するのを防ぐ設定は何ですか?

そこで最近、RetroPie Debianベースの画像を使って小さな情熱プロジェクトを進めるためにRaspberry Piを購入しました。
これで、特定の接続のみを許可するようにサーバーを完全にブロックしたい手順に達しました。私のユースケースでは、次のようになります。

  • サーバーと同じネットワークからのインバウンドSSH接続のみを許可する
  • 特定のIPへのアウトバウンド接続のみを許可する

ufwこれを達成するために、私はインバウンド/アウトバウンド接続のインストールと設定とhosts.allow追加のセキュリティという2つのアプローチを取りました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

現在何が起こっているのかは、サーバーが再起動されるたびに現在のIPアドレスが自分のコンピュータ(Raspberry PIと同じネットワーク上にある)からSSH経由で接続できないことです。192.168.1.65動的かもしれませんが、決してリンクされません。 IP範囲に特定のIPを残さないでくださいhosts.allow

sudo systemctl stop ufwサーバーを再起動するたびにSSH接続を使用できるように、キーボードを使用してPiに手動で接続する必要がありますなぜufwローカルIP範囲のポート22でTCP接続を許可するようにインバウンドルールを設定するとどうなりますか?ここで何か抜けましたか?

よろしくお願いします。

答え1

PasswordAuthentication noこれがなぜ問題を解決したのかはわかりませんが、無効にしてデフォルトでPermitEmptyPasswords nosshのキー認証を強制した後は正しく機能するようです。

元の公開文書には変更はありませんhosts.*

また、変更を実行しsudo systemctl restart sshdsudo systemctl restart ufw更新します。システムを再起動すると、作成した秘密鍵と公開鍵のペアを使用してログインできるようになりました。

関連情報