SerialとTelnet
Serial
sshc serial --json
sshc serial /dev/ttyUSB0 --baud 115200 --encoding utf-8データビット、パリティ、ストップビット、フロー制御(none、rtscts、xonxoff)を接続時に指定できます。--dtr on|offと--rts on|offは接続直後に一度だけ適用し、--break <期間>は接続直後に指定した長さのブレークを一度送ります。接続中に切り替える操作はありません。これらの指定はフロー制御の設定とは別です。
デバイス名はOSによって異なります。Linuxでは/dev/ttyUSB0、macOSでは/dev/cu.*、WindowsではCOM3などを指定します。
Telnet
sshc telnet 192.0.2.20:23 --encoding shift_jisTelnetの通信は平文で、サーバー認証もありません。信頼できる隔離ネットワークやVPNの内側など、別の保護がある環境だけで使用してください。
文字コード
SerialとTelnetは、utf-8、shift_jis、euc-jp、iso-2022-jpに対応しています。SSHの文字コードは、接続先ごとのsshc設定に保存できます。
自動処理から使う
sshc serial /dev/ttyUSB0 --non-interactive \
--expect 'login:' --timeout 20s -- 'admin'
sshc telnet 192.0.2.20:23 --non-interactive \
--script ./steps.json --json--scriptは手順ファイルの各ステップが送信文と終了条件を持つため、-- <text>や--expect/--read-forとは併用できません。
対話操作を必要としない自動処理では、終了条件として--expectまたは--read-forのどちらか1つを指定します。--expectは正規表現に一致した時点、--read-forは指定時間の読み取りを終えた時点で成功します。全体の--timeoutを超えた場合は終了コード124、引数が不正な場合は2、通信などほかの失敗は1、割り込みは130を返します。
待機時間、最大受信量、改行コード、出力が1バイト以上必要かどうかも指定できます。受信量は設定した上限で打ち切られ、JSONモードでは結果と警告が1つのオブジェクトとして返ります。