LoginSignup
62
44

More than 5 years have passed since last update.

SSH接続のタイムアウトの接続切れを防ぎたい

Last updated at Posted at 2019-02-14

概要

SSHでサーバに接続して作業をしていた。が、横から話しかけられたり電話に出たりしていたらタイムアウトでSSHの接続が切れていた…なんていうことはよくありますよね。今回はSSH接続が切れないようにする方法を2つ紹介いたします。

前提
- MacOS使っています、SSHの接続はターミナルからおこないます。
- サーバ側の設定を変えるのはサーバを使っている他の方に迷惑がかかるので、クライアント側からタイムアウトを防止したい。(作業環境によるよね。)

方法1 定期的に生きていることをサーバに伝える

~/.ssh/config にSSHの接続先情報を記述していると思いますが、そちらにServerAliveInterval, ServerAliveCountMaxの設定をしてあげてください。

~/.ssh/config
Host **** *****
  HostName ********
  IdentityFile ******
  User *****
  ServerAliveInterval 60
  ServerAliveCountMax 5

以上のように設定をすると、サーバに対して60秒ごとにメッセージを送信します。
そして、サーバから応答がなかった場合にServerAliveCountMaxで指定した分確認します。なのでこの設定はサーバが応答しなくなって300秒後に接続切れとなります。
ServerAliveCountMax は指定しなかった場合はデフォルトは3だった…きがします。

これである程度はコネクション切れはなくなると…思います。
(Mac自体がスリープに入ったりしたら生存メッセージを送れないのでコネクションが切れますが)

方法2 topコマンドを活用する

Linuxのリソース状況をリアルタイム監視するために使われるtopコマンドですが、このコマンドを実行している間は接続が切れません。
なので、SSHでサーバに接続して一瞬離れることがあればその場でtopコマンドを実行してください。

$ top

top - 22:38:04 up 109 days, 23:48,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 115 total,   1 running, 114 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.6 sy,  0.0 ni, 99.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2048124 total,   110228 free,   226068 used,  1711828 buff/cache
KiB Swap:  4194300 total,  4068144 free,   126156 used.  1492944 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                        
22071 komugit+  20   0  154.0m   2.1m   1.5m R   1.9  0.1   0:00.03 top                                                                            
    1 root      20   0  186.4m   3.1m   2.1m S   0.0  0.2  16:04.47 systemd                                                                        
    2 root      20   0    0.0m   0.0m   0.0m S   0.0  0.0   0:02.50 kthreadd                                                                       
    3 root      20   0    0.0m   0.0m   0.0m S   0.0  0.0   0:03.90 ksoftirqd/0                                                                    
    5 root       0 -20    0.0m   0.0m   0.0m S   0.0  0.0   0:00.00 kworker/0:0H                                                                   
    6 root      20   0    0.0m   0.0m   0.0m S   0.0  0.0   0:25.82 kworker/u6:0        
...

なんかカッコいい…。とりあえずリアルタイムでリソース状況が見られます。抜ける際はqとかcontrol+cを入力してください。
そして、本当のtopコマンドの使い方を知りたい方はQiitaにたくさんtopコマンドの使い方が載っているので調べてみてください…。

以上です。

62
44
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
62
44