conserverをインストールしてシリアルコンソールの管理をする。
serverだけでなくclientも入れないとローカルホストに対しても接続できないので注意。
# apt install conserver-server conserver-client
デフォルト設定のバックアップ
# cd /etc/conserver # cp conserver.cf conserver.cf~default
下記のように設定を変更(変更箇所は★)
default * { master localhost; logfile /var/log/conserver/&.log; timestamp ""; include full; timestamp 1hab; #<-★ 追加(1時間おきにログにタイムスタンプを加える) parity none; #<-★ 追加(シリアル通信のパリティ無しをデフォルト設定にする)
} access * { trusted 127.0.0.1; #<-★ コメントアウト(ローカルからは認証なしでログイン可能とする) # allowed 127.0.0.1; #<- ★コメントイン } console con1 { type device; baud 9600; device /dev/ttyUSB0; } #<- 追加(/dev/ttyUSB0を速度9600bpsでホスト名con1として追加する)
上の例では/dev/ttyUSB0(速度9600bps)をcon1として登録している。
# systemctl daemon-reload # systemctl restart conserver-server
次のコマンドでアクセスできるかを確認。
# console con1
コンソールから抜ける時[Ctrl-E] → [c] → [.] の順にキーを押す。ちょっと独特。
操作のログは下記ファイルに保存されます。
# cd /var/log/conserver/ # ls con1.log server.log
複数のUSBシリアルケーブルを使っていると、時々デバイスが入れ替わってしまうという問題が発生します。そこでUSBのシリアル番号を使い、udevでデバイス名に別名(リンク)を付けます。
下記は/dev/ttyUSB0の情報です。
# udevadm info -q property -n /dev/ttyUSB0 | grep -e _ID -e _SERIAL ID_VENDOR_ID=0403 ID_MODEL_ID=6001 ID_SERIAL=FTDI_FT232R_USB_UART_AB0MRYWE ID_SERIAL_SHORT=AB0MRYWE
# vi /etc/udev/rules.d/50-usb-serial.rules SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AB0MRYWEXX", SYMLINK+="ttyUSB-com0", GROUP="dialout"
複数ある場合は個数分の行を加えます。
設定ファイルは作成した瞬間に反映されますが、うまく反映されない時は下記を試してみてください。
# udevadm control --reload-rules # udevadm trigger
うまく行かない時は下記のコマンドでデバッグできます。
# udevadm test $(udevadm info -q path -n /dev/ttyUSB4) 2>&1
conserver.cfの内容を設定に合わせて書き換えます。
# cd /etc/conserver # vi conserver.cf
console con1 { type device; baud 9600; device /dev/ttyUSB-com0; } #<- 追加(/dev/ttyUSB0を/dev/ttyUSB-com0へ変更)
# systemctl restart conserver-server