vCSA のシェルタイムアウト値について

vCSA へ SSH 接続すると一番最初に表示されるのが Command> プロンプトです。

この状態で > shell コマンドを実行すれば、シェルプロンプトが # に切り替わるのですが、シェルにタイムアウト値が設けられているため、一定時間が経過すると Command> に戻ってしまいます。

シェルから抜けられてしまったら再び > shell コマンドを実行するだけでよいですが、このような状況が頻繁に発生するとちょっと面倒くさいと思ってしまいます。

シェルのタイムアウト値はバージョンによって異なったりしますが、vCSA 6.5 / 6.7 ではデフォルトで 900 (15分) が設定されていたので、もうちょっとタイムアウト値を伸ばしたいと思います。

この例では、シェルのタイムアウト値を 900 (15分) から 360000 (100時間) に変更します。

Step 1. デフォルトタイムアウト値確認

vCSA 6.5 シェルタイムアウト値確認
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
■ vCSA 6.0 の「shell.set」コマンドは、vCSA 6.5 では使えない
Command> shell.set
Unknown command: `shell.set'

■ シェルへ切り替え
Command> shell
#
#

■ デフォルトタイムアウト値確認
# echo $TMOUT
900

■ 15分待つと以下のメッセージが表示され、シェルから抜けられる
# timed out waiting for input: auto-logout
Command>
Command>
Command>

■ 再び、シェルへ切り替え
Command> shell
#
#

Step 2. シェルタイムアウトの管理ファイル確認

vCSA のシェルタイムアウト値は /etc/profile.d/tmout.sh によって管理され、ユーザがログインする際に実行されるようになっています。

バージョンによって異なるかもしれませんが、以下の実行結果を確認すると TMOUT=900 になっていることが分かります。

tmout.sh 場所確認
1
2
3
4
5
6
7
8
# ls -l /etc/profile.d/tmout.sh
-rw-r--r-- 1 root root 59 Oct 22 01:17 /etc/profile.d/tmout.sh

# cat /etc/profile.d/tmout.sh
TMOUT=900
readonly TMOUT
export TMOUT
mesg n 2>/dev/null

Step 3. シェルタイムアウトの変更

以下の例では、シェルのタイムアウト値を 900 (15分) から 360000 (100時間) に変更します。

/etc/profile.d/tmout.sh
1
2
3
4
5
#TMOUT=900
TMOUT=360000
readonly TMOUT
export TMOUT
mesg n 2>/dev/null

Step 4. 設定反映、及び確認

設定を反映するために、一回 現在のシェルから抜けてから再度シェルへの切替えを実施した上で、設定した値が反映されていることを確認します。

設定反映、及び確認
1
2
3
4
5
6
7
8
# exit
logout

Command> shell
Shell access is granted to root

# echo $TMOUT
360000

以上、vCenter Server Appliance 6.5 / 6.7 シェルのタイムアウト値変更 でした。