TeraTermの自動ログイン
さくらのVPS借りました。
さくらのVPS を使いはじめる | アカベコマイリさんを参考に、初期設定的な事を済ませてTeraTermでSSH接続できるように。
でも、SSH接続するのに毎回IDやPASSWORD、秘密キーを指定しなければいけないので、なんとか自動化できないものかと調べてみると、自動ログインにマクロが使えるらしいことがわかった。
最初は以下を参考に手書きしてみたがどうも上手く行かない。 *1
Tera Termマクロ活用入門(1):各種ログインを自動化する – SourceForge.JP Magazine : オープンソースの話題満載
試行錯誤していると、Tera Termのインストールパッケージに入っていたLogMeTTが自動ログインに使えるとの事。どうもマクロ管理ツールらしい?
早速TeraTermを標準パッケージでインストールしなおし、LogMeTTもインストールした。 *2
インストール後の手順は以下。
- タスクトレイにあるLogMeTTのアイコンを右クリック、Configureを選択して管理画面を開く。
- This computerを右クリックしてAdd childしてやる。マクロ名は任意で。
- Macroタブにマクロを記載。(以下参考)※クォーテーションが全角になってしまうので修正してください。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
username = ‘<ユーザー名>’
hostname = ‘<接続先IPアドレスもしくはホスト名>’
keyfile = ‘<使用する秘密鍵のパス名>’
passwdfile = ‘<パスワードファイルのパス名.dat>’ ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;msg = ‘Enter password for user ‘
strconcat msg username
passwdkey = username
strconcat passwdkey ‘@’
strconcat passwdkey hostname
getpassword passwdfile passwdkey passwordmsg = hostname
strconcat msg ‘:22 /ssh /auth=publickey /user=’
strconcat msg username
strconcat msg ‘ /keyfile=’
strconcat msg keyfile
strconcat msg ‘ /passwd=”‘
strconcat msg password
strconcat msg ‘”‘
connect msg - F9で実行して問題なければSave&Apply
バッチリログインできた!
SSHのポートを変更している場合は:22を変更後のポートに修正するのをお忘れなく。
マクロの実行方法は管理画面から選んでF9でも実行できるが、
タスクトレイのLogMeTTアイコン右クリック→マクロ名が実用的か。
TeraTerm ログの自動保存
自動ログインのマクロにログを保存する記述を追加。
connect msgの行の後ろから↓
; 自動ログ記録
logdir = ‘<ログ保存先ディレクトリ>’ ; 例)C:?Users?otp?Desktop? など
logfile = logdir
strconcat logfile username
strconcat logfile ‘@’
strconcat logfile hostname
getdate datetime ‘-%Y%m%d-%H%M%S’
strconcat logfile datetime
strconcat logfile ‘.log’
logopen logfile 0 1
コメント
Host のところに hostname /user=foo /passwd=fuga /keyfile=”pathtokeyfile” と入力して覚えさせればいいはずですよ。
なるほど!そんな手があるんですね。
教えていただきありがとうございます!
あ、/auth= なんかも必要かもです。
/ssh /user=foo /passwd=fuga /keyfile=”pathtokeyfile” /auth=publickey hostname:22