意図的にsshのタイムアウトを発生させる

2020年1月16日木曜日

Linux

t f B! P L
システムのテストなどで、意図的にSSHの接続先からタイムアウトを発生させたい場合があります。このような場合は、サーバー側のファイアウォールでSSHのポートを遮断します。

設定

以下は、サーバーがRaspberry Pi Raspbian(9.4 stretch)の設定例です。まず、ufwをインストールします。

$sudo apt-get install ufw
次に、sshをdenyに設定します。

$sudo ufw deny ssh
最後に、ufwを有効化します。

$sudo ufw enable
注意点としては、この操作をSSHで行っている時は、そのターミナルを絶対にクローズしてはいけないということです。なぜなら、今行っている設定は、外部からSSHをタイムアウトさせる設定だからです。ターミナルをクローズしてしまうと、後でタイムアウトの設定を解除しようとしてもSSHでアクセスできなくなってしまいます。

動作確認

別のコンソールを立ち上げてSSHのログインを試します。

$ssh pi@192.168.xx.xx -o ConnectTimeout=5
ssh:  connect to host 192.168.10.13 port 22: Connection timed out
5秒後、タイムアウトになります。

設定解除

タイムアウトの設定を元に戻したい時は、ufwをdisableします。

$sudo ufw disable
ufwの一部の設定だけを削除したい場合は、設定番号を表示してその番号をdeleteします。

$sudo ufw status numbered
  Status: active

       To                         Action      From
       --                         ------      ----
  [ 1] 22/tcp                     DENY IN     Anywhere
  [ 2] 22/tcp (v6)                DENY IN     Anywhere (v6)
$sudo ufw delete 1

このブログを検索

ブログアーカイブ

QooQ