ログの取得方法

2021/05/21 05:10 Tera Term::使い方
Tera Term では、ログを取得するとき "開く" と言っていました。
開発言語でファイルは開く (logopen や fileopen というコマンドを利用する) ものなので、実行結果を書き込むファイルも開くもの、という感覚だったのでしょう。
いまでも、その名残を見ることができます。

現在のバージョンでは、ログを取得する際に「保存」という書き方をします。

ここでの説明は Version 4.102 (SVN# 7452) 時点のものです。

個別取得

手動取得

自動取得

設定
最終的に .ini ファイルに記述することになる設定方法です。
マクロ
マクロで、必要の都度取得したい場合の記述方法です。
ログ関係マクロコマンド一覧
コマンドバージョン機能の簡易説明

logautoclosemode4.79以降マクロ終了時、自動的にログ採取を停止する。
【Usage】logautoclosemode <flag>
logcloseTera Term のログを終了する。
【Usage】logclose
loginfo4.73以降Tera Term のログ取得状態を得る
【Usage】loginfo <strvar>
logopenTera Term のログを開始する。
【Usage】logopen <file name> <binary flag> <append flag>
4.61以降ログ再生可能なバイナリオプションの追加。
【Usage】長いため別記 *1
4.62以降ログを開けたかどうか result を返す仕様の追加。
4.80以降端末バッファをログへ含めるオプションの追加。
【Usage】長いため別記 *2
4.97以降ログ行頭へタイムスタンプを追記するオプションの追加。
【Usage】長いため別記 *3
logpauseTera Term のログを一時中断する。
【Usage】logpause
logrotate4.78以降ログをローテートする。
【Usage 1】logrotate 'size' '<size>'
【Usage 2】logrotate 'rotate' <count>
【Usage 3】logrotate 'halt'
logstart中断していた Tera Term のログを再開する。
【Usage】logstart
logwrite文字列をログに書き込む。
【Usage】logwrite <string>

その他・関連情報・備考

*1 : 【4.61以降】 logopen <file name> <binary flag> <append flag> [<plain text flag> [<timestamp flag>]]

*2 : 【4.80以降】 logopen <file name> <binary flag> <append flag> [<plain text flag> [<timestamp flag> [<hide dialog flag> [<include screen buffer flag>]]]]

*3 : 【4.97以降】 logopen <file name> <binary flag> <append flag> [<plain text flag> [<timestamp flag> [<hide dialog flag> [<include screen buffer flag> [<timestamp type>]]]]]

アクセス先への文字入力

2021/05/21 04:09 Tera Term::使い方

アクセス先への文字入力

引き続き Tera Term にログインした後の操作について書いていきます。

Tera Term で、対象のコンピュータにログインしたら、文字を入力する必要があります。
それはコマンドだったり、問い合わせの内容だったりするかもしれません。

コマンドの入力

Tera Term でログインした対象が Linux だった場合は、ほとんどがコマンド入力になります。
コマンドプロンプト(入力受付状態を示す文字)が表示されているところへ、たとえば echo 'helo world!' と入力して Enter キーを押すと、画面では hello world! を表示してくれます。
$ echo 'hello world!'
hello world!

文字コード

文字コードとは、読んで字のごとく文字に割り当てられているコードのことです。
0 と 1 の世界のコンピュータでは、文字を文字として認識するわけではなく、コード体系に則って扱われます。

たとえば50音表を、上から順番に ABCDE で割り振り、あ行を 1、か行を 2 列目と定義したとします。
A1 なら あ を表示し、
B2 なら き を表示する。

A2B1 という例コードで記述したテキストファイルを保存した場合、対応したテキストエディタでは いか と表示されるようになります。
1文字を表すためのハンコをイメージすると、テキストファイルの実態が思い浮かぶかもしれません。
こんな個人的にコード表を作らなくても、世の中は共通で使われる文字コードがあります。

もともとは、アメリカが ASCII コード (American Standard Code for Information Interchange) として標準化したものです。
アメリカで使う文字は a~z の26文字、A~Z の26文字、算術演算子等を含む記号で、100個も表現できれば問題ありませんでした。
なので 100 個のデータをきちんと識別するためには 2^7=128 という計算で 2 進数で 7 桁あれば足ります。
この 7 bit で 1 byte として利用されました。
(なので ASCII は 7 bit で 1 byte という文字コード)

この文字数は、西欧諸国の文字セットによる利用で不足するため、2^8=256 で 8 bit の文字コードが利用されました。
日本でも、半角カナを含めた 8 bit の文字コードが定義されています。

現在 8 bit = 1 byte というのは世界標準ですが、1 byte = 8 bit ではないことに注意が必要でしょう。

それでも、まともな日本語で扱いたいとき、常用漢字表でも 1945 字あるので圧倒的に桁数が不足しています。
なので日本語は 1 byte の倍である 2 byte (16bit) を使った文字コードを利用しはじめました。
UTF-8
2019年現在の主流は、UTF-8 と呼ばれる文字コードです。

正確には文字コードではなく、文字コードを扱うための符号化方式ですが、ここでは Tera Term で利用するための文字コードとして扱います。
なので UTF-16 等も説明しません。

利用する文字のバイト数も指定するので、普段利用しない文字コード分の桁数が抑えられるのが特徴でしょう。
1文字で x バイトという表現ができません。

Linux や Windows で、文字コード変換をしなくとも、標準で相互に利用できます。
EUC
Extended Unix Code という名前の略称のとおり、長く日本語環境の UNIX で利用されてきた文字コードです。

Windows で利用するためには、SJIS 等に変換する必要があります。
JIS
ASCII をもとに日本で標準化された文字コードです。
2 byte であることが特徴です。
EUC にも利用されています。
SJIS
Shift_JIS

Microsoft が開発したと聞いています。
全角カナや半角カナを識別することのできるコードで、便利なためこれも長い間利用されていました。
現在でも一部では利用されています。

これも、文字によってはビットの長さを変えられるため、1文字 x バイトという表現ができません。

改行コード

改行コードは、0 と 1 の連続である文字コードの列(文字列)にとって、見た目に必要な要素です。
また、UNIX ではコマンド実行の確定も意味しています。

UNIX では LF (Line Feed)
MachOS では CR (Carriage Return)
Windows では CR + LF

Line Feed

Line Feed は改行という意味で、次の行に改めることを差します。
コードとして定義する時代にモデルとなったタイプライターは、改行したあと手で頭の位置まで戻していたようです。

Carriage Return

これに対して、Carriage Return が意味するところは復帰
行頭まで自動で戻してくれる機能のようです。

Tera Term で利用するべき改行コードは?

Tera Term は、Windows 用ソフトウェアなので、CR + LF を利用します。

行頭まで戻したうえで改行したら?
それが Windows の仕様です。

Tera Term を通したアクセスの場合は、アクセス先とやりとりする改行コードを自動的に変換してくれます。

正規表現での利用

ファイルで直接アクセス先の操作をする場合、改行コードの変換を考慮する必要があります。

CR の文字コードは、エスケープ込みで \r
LF の文字コードは、エスケープ込みで \n

UNIX にテキストファイルを持って行った際、文字コードの除去を忘れたら正規表現を使って \r を消すと楽になるでしょう。

vi で利用可能な正規表現であれば編集モードで
:%s/\r//g
と入力することで、ファイル内のすべての \r (CR) が削除 (正確には \r を '' (Null) に置換) されます。

もっと気を付けるべきは、UTF-8 の仕様にある BOM コードの有無でしょうね。
シェルスクリプトの場合は、テキストファイルなのかバイナリファイルなのか、判別に失敗することがありますので。

もちろん Tera Term マクロで利用する改行コードは CR + LF です。

Linux へのログイン

2020/09/30 18:13 Tera Term::使い方

SSH でのログイン方法(プレインパスワード方式)

起動

起動すると、「Tera Term: 新しい接続」画面が表示されます。

「ホスト(T)」にアクセスしたいサーバのドメイン名もしくは IP アドレスを入力して、「OK」を押します。

:Tera Term 新しい接続(Ver 4.105)

※ Version 4.105 以降

各項目の入力内容は、以下の通りです。
入力欄説明
ホスト(T)アクセスしたいホストのホスト名もしくは IP アドレスを入力します。

ホスト名は Windows の hosts に記載があるか DNS で名前解決可能なものです。
または IP アドレスを直接指定することも可能です。

IPv4 であるならば、192.168.0.1 のような表記になります。
IPv6 なら [fe80::1] のような表記(スクエアブラケットは必須)になります。
ヒストリ(C)ホスト欄に入力した情報を記録するかどうか選択します。
サーバが存在するなら、アクセスを行った時点で登録されます(名前解決ができなかったり、不正な IP アドレスを指定した場合は、登録処理が行われません)。
サービス次の選択肢から、アクセスするプロトコルを選択します。
選択肢Telnetホストとやり取りするための基本的なプロトコルです。シェルにログインすることが可能です。パスワードもすべて平文でやりとりするため、インターネット上のサーバとやりとりするには向いていません。通常は、ポート 23 を利用しますが、会話型のプロトコルを許容するサービスであれば利用できます。
SSHホストとのやり取りを SSL で暗号化したプロトコルです。公開鍵方式です。SSH バージョンも合わせて選択しますが、現在は SSH2 が標準的です。
その他その他のプロトコルでやり取りする場合に選択します。たとえば 25 を指定することで smtp にアクセスでき、プロトコルに沿ったコマンドを入力することでメールを送信することも可能です。
IPv4 入力サンプル
IPv4 アドレスでの入力サンプルです。
:Tera Term 新しい接続(IPv4 での指定)

IPv6 入力サンプル
IPv6 アドレスでの入力サンプルです。
:Tera Term 新しい接続(IPv6 での指定)

ドメイン名での入力サンプル
ドメイン名での入力サンプルです。
:Tera Term 新しい接続(ドメイン名での指定)


ドメイン名ですので、名前解決の順番に影響を受けます。
デフォルトでは IPv6 が優先です。

アカウント入力

SSH (Secure Shell) を利用する場合は、ログイン前にアカウント入力を行う必要があります。

SSH認証

入力項目名入力する内容
ユーザ名アカウントのユーザ名
パスフレーズいわゆるパスワード

「パスワードをメモリ上に記憶する(M)」のチェックを入れると、ログイン後に Alt + D キーを押すことで、同じサーバに同じユーザで Tera Term でのログインを行ってくれます。
地味に便利です。

「エージェント転送する(O)」のチェックを入れると、自分が持つ秘密鍵を利用して、他の公開鍵を渡しているサーバに ssh でのアクセスが可能になります。
いろいろ事前設定が必要なことと、あまり使う人は多くない機能なので、説明は省きます。

セキュリティ警告がでた場合

初回アクセスの場合、何もせずに接続しようとすると「セキュリティ警告」が出ます。
これは SSH が公開鍵を持っていることを前提としているためです。
そのため、アクセス先の鍵が既に持っている鍵と異なる場合にも出力されます。

以下のセキュリティ警告は、OS をリプレースしたので、ユーザアカウントもIPアドレスも同じなのに公開鍵が異なるために出力されたものです。
もし何の作業もなく出力された場合は、アクセス先を変えられてパスワードを盗まれる可能性もあるため、「接続断」をクリックしてアクセスを取りやめます。
セキュリティ警告


なお、Tera Term Version 4.105 からはアカウント入力前にセキュリティ警告が出力されるよう、仕様変更されています。

ログインプロンプト

ログインに成功すると、ログインプロンプトが表示されます。

プロンプト画面


一般的には、記号によってユーザの権限が示されます。
記号意味
$一般ユーザ
#特権ユーザ
>コマンド入力の続き待ち
なお、ログインプロンプトはユーザが自由に変えられます。

シリアルポートでのログイン

この画面ですが、TCP/IP でインターネットやイントラネットにあるサーバ・スイッチ以外にも、シリアルポートからの接続が可能です。
シリアルポート

※ 端末にシリアルポートがない場合は、グレーアウトされています。

最近はあまり使う機会が減ったシリアル(COMポート)ですが、今でもスイッチングハブのセットアップで必要になることがあります。

Tera Term の使い方

Tera Term の起動と終了


Tera Term の起動方法

いろいろな起動方法側あります。

Windows スタートメニューから起動

まずはオーソドックスな方法を。

スタートから、「Tera Term」 → 「Tera Term」と探して、Tera Term を起動します。

Tera Term 起動
Windows スタートメニューからTera Term 起動

プログラム検索から起動

Windows キーを押して tera と入力すると Tera Term が検索表示されるので、そのまま Enter する方法をよく使っています。

探すより、入力するほうが早い人向けです。

Tera Term 起動
プログラム検索からTera Term 起動

コマンドラインから起動

コマンドラインから起動させる方法もあります。
"c:\Program Files (x86)\teraterm\ttermpro.exe"

コマンドライン起動
コマンドラインから Tera Term 起動

※ 途中にスペースが入ってしまうとフルパスでのプログラム起動ができなくなってしまうため、ダブルクォーテーションで括っています。
※ 筆者の環境では、Tera Term を E ドライブにインストールしているため、サンプル画像では e ドライブを指定して起動しています。

コマンドラインからの起動方法で使えるオプションは、Tera Term マクロでホストに接続する際の connect コマンドに対するオプション指定と同じであるため、知っておく価値があります。
TTERMPRO [ <host>[[:]<TCP port#>] | telnet://<host>[:<TCP port#>][/] | \\<server>\pipe\<pipe name>]
         [/B] [/BAUD=<speed>] [/C=<serial port#>] [/DS] [/E] [/ES]
         [/F=<setup file>] [/FD=<file transfer directory>]
         [/H] [/I] [/K=<keyboard setup file>]
         [/KR=<kanji code (receive)>] [/KT=<kanji code (transmit)>]
         [/L=<log file>] [/LA=<language>] [/M=<macro file>] [/NOLOG]
         [/P=<TCP port#>] [/R=<replay file>] [/SPEED=<speed>] [/T=<telnet flag>]
         [/TEKICON=<icon name>] [/TIMEOUT=<connecting timeout value>]
         [/V] [/VTICON=<icon name>] [/W="<window title>"] [/WAITCOM]
         [/X=<window pos (x)] [/Y=<window pos (y)] [/PIPE]
         [/AUTOWINCLOSE=<flag>]
         [;<comment>]
筆者がよく利用するオプションは、以下の通りです。
オプション使用例意味
<host>192.168.1.1アクセス先ホスト名 or IPアドレスを指定します。
<host>[[:]TCP port#]192.168.1.1:10022アクセス先ポート番号を含むアクセス先ホスト名 or IPアドレスを指定します。
/L=<log file>/L=teraterm.logログ取得のためのファイルパスを指定します。起動時に自動でログ取得が開始されます。
/M=<macro file>/M=mymacro.ttlTera Term 起動時に読み込む Tera Term マクロファイルを指定します。
;<comment>[; コメント]この起動オプションに対するコメント。サーバ名を入れておくと、アクセス先が分かりやすいと思います
※ ファイルパスは、絶対パスでも相対パスでも指定可能です。

Tera Term の終了方法

ログアウトと同時に終了(デフォルト)

Tera Term のデフォルトでは、ログイン先サーバからログアウトしたり、ネットワークエラー等で接続が切れたりすると、同時に終了されます。

ログインしていたサーバでは、通信が途切れたことを検知すると自動でセッションを終了します。
ログを取得していた場合、それらも Tera Term と同時に終了します。

ログアウトせずに Tera Term を終了

複数の Tera Term をまとめて終了させたい場合は、メニューの「ファイル」から「Tera Termの全終了」を選択することで可能です。

これらで、ログアウトせずに終了しようとした場合は「切断しますか?」というメッセージボックスが表示されます。

終了確認
終了確認 メッセージボックス

「OK」を押すと、Tera Term は自動でログアウト処理をしてから終了します。
ログを取得していた場合、それらも Tera Term と同時に終了します。

ログアウトした後も終了しない

設定次第ではログアウト後にも画面を残したままで、別なサーバにアクセスできるようになります。
一時的な設定
メニューの「設定」から「TCP/IP...」を選択し、「自動的にウィンドウを閉じる」のチェックボックスを外して、OK ボタンをクリックしてください。

通常
チェックボックスを外した状態
ログアウト後の設定可否

この設定のとき、ログアウト後に Tera Term を終了したい場合は、メニューの「ファイル」から「終了」を選択します。
ログを取得していた場合、それらはログ取得を続けます。
永続設定
一時的な設定を行った後、メニューの「設定」から「設定の保存」を選んで、設定情報を保存してください。

詳細は teraterm.ini を参照してください。