---
title: G2.4 SSHの接続元を制限する
description: "## G2.4 SSHの接続元を制限する **対象機種**: AG10（ほかの機…"
url: "https://manual.amnimo.com/docs/guide-examples-cli/g2-4-cli/"
updated: "2026-11-06"
category: エッジゲートウェイシリーズ　CLIユーザーズマニュアル / 設定ガイド 第2章　設定例
---

# G2.4 SSHの接続元を制限する

## G2.4 SSHの接続元を制限する

**対象機種**: AG10（ほかの機種はインターフェイス名が異なります。『[G1.4 インターフェイスとポートの対応](/docs/guide-basics-cli/g1-4-cli/)』を参照してください）

パケットフィルタリングで、本製品への SSH 接続を、LAN 側と特定の管理端末からだけ受け付けるように制限します。

> ![warning](https://manual.amnimo.com/wp-content/uploads/2026/07/image23.png) **注意**: パケットフィルタリングの設定は、入力した時点ですぐに反映されます。手順の順序を誤ると、作業中の SSH 接続が切れ、本製品に接続できなくなります。特に WAN 側（LTE 回線など）からリモートで作業する場合は、**許可するルールをすべて作成してから、最後にデフォルトポリシーを drop にしてください**。可能であれば、LAN 側やシリアルコンソールから作業してください。

##### 要件

- SSH を有効にする。
- LAN 側（br0）からの本製品宛ての通信は、SSH を含めてすべて許可する（DHCP 要求、DNS 問い合わせなども含む）。
- LTE 回線（ecm0）側からの SSH 接続は、管理端末 203.0.113.10 からだけ許可する。
- 上記以外の本製品宛ての通信は破棄する。

この設定例は、[G2.1](/docs/guide-examples-cli/g2-1-cli/)〜[G2.3](/docs/guide-examples-cli/g2-3-cli/) の構成を前提にしています。

##### 構成

```
   管理端末 203.0.113.10         その他の端末
          |  SSH 許可                |  破棄
          +-----------+--------------+
                      |
                インターネット
                      |
                    ecm0
            +-------------------+
            |   本製品（AG10）   |
            +-------------------+
              br0 192.168.0.254/24
                      |  すべて許可（SSH、DHCP、DNS など）
            LAN 192.168.0.0/24
```

本製品宛てのパケットは、パケットフィルタリングの input で扱います。input のルールは、インデックス番号の小さい順に確認され、最初に合致したルールが適用されます。どのルールにも合致しなかったパケットには、デフォルトポリシーが適用されます。

| インデックス | 合致条件 | ポリシー | 目的 |
| --- | --- | --- | --- |
| 10 | 接続の状態が related、established | accept | 本製品から開始した通信の戻りパケットを許可する |
| 20 | 入力インターフェイスが lo | accept | 本製品内部の通信を許可する |
| 30 | 入力インターフェイスが br0 | accept | LAN 側からの通信をすべて許可する |
| 40 | 入力インターフェイスが ecm0、送信元が 203.0.113.10、TCP の宛先ポートが 22 | accept | 管理端末からの SSH を許可する |
| デフォルトポリシー | ― | drop | 上記以外を破棄する（**最後に設定する**） |

##### 手順

1. SSH を有効にします。SSH は初期状態で無効です。すでに有効な場合（`show config ssh` で `enable` と表示される場合）は不要です。
   ```
   amnimo# configure
   amnimo(cfg)# ssh
   amnimo(cfg-ssh)# enable
   amnimo(cfg-ssh)# exit
   amnimo(cfg)#
   ```
2. 現在の input の設定を確認します。インデックス番号 10、20、30、40 が使われていないこと、デフォルトポリシーが accept であることを確認します。
   ```
   amnimo(cfg)# show config filter input
   ```
3. 戻りパケットと内部の通信を許可するルールを作成します。
   ```
   amnimo(cfg)# filter input 10
   amnimo(cfg-fin-10)# policy accept
   amnimo(cfg-fin-10)# match conntrack state related,established
   amnimo(cfg-fin-10)# enable
   amnimo(cfg-fin-10)# exit
   amnimo(cfg)# filter input 20
   amnimo(cfg-fin-20)# policy accept
   amnimo(cfg-fin-20)# match in-interface lo
   amnimo(cfg-fin-20)# enable
   amnimo(cfg-fin-20)# exit
   ```
4. LAN 側（br0）からの通信を許可するルールを作成します。このルールがないと、デフォルトポリシーを drop にした時点で、LAN 側からの SSH や GUI へのアクセス、本製品の DHCP サーバーや DNS への要求も破棄されます。
   ```
   amnimo(cfg)# filter input 30
   amnimo(cfg-fin-30)# policy accept
   amnimo(cfg-fin-30)# match in-interface br0
   amnimo(cfg-fin-30)# enable
   amnimo(cfg-fin-30)# exit
   ```
   - `match in-interface` には、ブリッジ配下のインターフェイス（lan0 など）ではなく、ブリッジ（br0）を指定します。ブリッジ配下のインターフェイスを指定すると、ルールに合致しません。
   - eth0 を LAN 側として使う場合は、eth0 についても同様のルールを作成します。eth0 を WAN 側として使う場合は作成しないでください。
5. 管理端末からの SSH を許可するルールを作成します。1 つのルールに設定した複数の `match` は、すべてに合致したときだけ適用されます（AND 条件）。
   ```
   amnimo(cfg)# filter input 40
   amnimo(cfg-fin-40)# policy accept
   amnimo(cfg-fin-40)# match in-interface ecm0
   amnimo(cfg-fin-40)# match src-ip 203.0.113.10
   amnimo(cfg-fin-40)# match protocol tcp dst-port 22
   amnimo(cfg-fin-40)# enable
   amnimo(cfg-fin-40)# exit
   ```
   - SSH のポート番号を 22 から変更している場合（`show config ssh` の `port`）は、その番号を指定します。
   - 管理端末が複数ある場合は、インデックス番号を変えて同様のルールを作成します。
6. 作成したルールを表示し、誤りがないことを確認します。**リモートで作業している場合は、作業中の接続元が、ルール 10〜40 のいずれかで許可されることを必ず確認してください。**
   ```
   amnimo(cfg)# show config filter input
   ```
7. 最後に、デフォルトポリシーを drop にします。
   ```
   amnimo(cfg)# filter input default-policy drop
   ```
8. 新しい SSH 接続を、管理端末と LAN 側の端末から開けることを確認します（作業中の接続は切らずに残しておきます）。問題がなければ設定を保存します。
   ```
   amnimo(cfg)# config file save
   ```
   > ![note](https://manual.amnimo.com/wp-content/uploads/2026/07/image24.png) **補足**: `config file save` を実行するまでは、設定は保存されていません。設定を誤って接続できなくなった場合でも、保存する前であれば、本製品を再起動すると保存済みの設定で起動します（現地での電源操作が必要です）。動作を確認してから保存してください。

各コマンドの詳細は、次の節を参照してください。

- [7.4.2 SSHを設定する](/docs/servers-cli/7-4-cli/#742-ssh%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)（ssh、enable）
- [6.4.3 パケットフィルタリングのルールを設定する](/docs/network-cli/6-4-cli/#643-%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)（filter input、policy、enable）
- [6.6.2 パケット合致条件を設定する](/docs/network-cli/6-6-cli/#662-%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E5%90%88%E8%87%B4%E6%9D%A1%E4%BB%B6%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)（match conntrack state、match in-interface、match src-ip、match protocol tcp dst-port）
- [6.4.2 パケットフィルタリングのデフォルトポリシーを設定する](/docs/network-cli/6-4-cli/#642-%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)（filter input default-policy）
- [3.4 アムニモ設定情報に書き込む](/docs/amnimo-config-cli/3-4-cli/#34-%E3%82%A2%E3%83%A0%E3%83%8B%E3%83%A2%E8%A8%AD%E5%AE%9A%E6%83%85%E5%A0%B1%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80)（config file save）

##### 完成した設定

管理者モード（`amnimo#`）で貼り付けます。許可するルールを先に、デフォルトポリシーの drop を最後に設定する順序になっています。順序を入れ替えないでください。

```
configure
ssh
enable
exit
filter input 10
policy accept
match conntrack state related,established
enable
exit
filter input 20
policy accept
match in-interface lo
enable
exit
filter input 30
policy accept
match in-interface br0
enable
exit
filter input 40
policy accept
match in-interface ecm0
match src-ip 203.0.113.10
match protocol tcp dst-port 22
enable
exit
filter input default-policy drop
config file save
```

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/07/image24.png) **補足**: 同じ接続元からの SSH の接続回数を制限する（ブルートフォース攻撃への対策）例は、『[6.6.2 パケット合致条件を設定する](/docs/network-cli/6-6-cli/#662-%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E5%90%88%E8%87%B4%E6%9D%A1%E4%BB%B6%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)』の実行例（JC-STAR★1 適合基準番号 S1.1-04）を参照してください。

##### 確認方法

1. input の設定を表示します（[6.4.1 パケットフィルタリングの設定を表示する](/docs/network-cli/6-4-cli/#641-%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B)）。
   ```
   amnimo# show config filter input
   ```
   - 見どころ: 先頭に `filter input default-policy drop` が表示されること。ルール 10〜40 がそれぞれ `enable`、`policy accept` で、手順どおりの `match` が表示されること。
2. SSH の設定を表示します（[7.4.1 SSHの設定を表示する](/docs/servers-cli/7-4-cli/#741-ssh%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B)）。
   ```
   amnimo# show config ssh
   ```
   - 見どころ: `enable` と表示され、`port` がルール 40 の宛先ポートと一致していること。
3. 次の接続を試し、結果を確認します。
   | 接続元 | 期待する結果 |
   | --- | --- |
   | LAN の端末から 192.168.0.254 へ SSH | 接続できる |
   | 管理端末（203.0.113.10）から ecm0 のアドレスへ SSH | 接続できる |
   | それ以外の端末から ecm0 のアドレスへ SSH | 接続できない |
   | LAN の端末の DHCP によるアドレス取得 | 取得できる |
   - 破棄されたパケットを確認したい場合は、ルールにログ出力を設定します（[6.6.5 ログ出力を設定する](/docs/network-cli/6-6-cli/#665-%E3%83%AD%E3%82%B0%E5%87%BA%E5%8A%9B%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)）。

##### よくある失敗

| 症状 | 確認すること |
| --- | --- |
| デフォルトポリシーを drop にした時点で接続が切れた | 作業中の接続元を許可するルールがなかった、または誤っていました。保存前であれば、再起動すると保存済みの設定で起動します。保存後の場合は、LAN 側やシリアルコンソールから接続して設定を直します。 |
| LAN の端末がアドレスを取得できなくなった、名前解決できなくなった | br0 を許可するルール（30）があるか。`match in-interface` にブリッジ配下のインターフェイス（lan0 など）を指定していないか。 |
| 管理端末から接続できない | 管理端末の送信元アドレスが、本製品から見て 203.0.113.10 になっているか（途中で NAT されていないか）。宛先ポートが SSH のポート番号と一致しているか。SSH が有効か。 |
| 制限したはずの端末から接続できる | ルール 40 より前（インデックス番号の小さい側）に、ecm0 からの通信を広く許可するルールがないか。ルールはインデックス番号の小さい順に確認され、最初に合致したルールが適用されます。 |

詳しい切り分けは『[G3.4 本製品にアクセスできなくなった](/docs/guide-troubleshooting-cli/g3-4-cli/)』を参照してください。

##### 関連する設定例

- [G2.6 拠点間をIPsecで接続する](/docs/guide-examples-cli/g2-6-cli/)（input を drop にしている場合は、IPsec の通信を許可するルールが必要です）
