シェアする

  • このエントリーをはてなブックマークに追加

[さくらのVPS]TeraTermって自動ログインできないの?と思ったらできた

TeraTermの自動ログイン

さくらのVPS借りました。

さくらのVPS を使いはじめる | アカベコマイリさんを参考に、初期設定的な事を済ませてTeraTermでSSH接続できるように。

でも、SSH接続するのに毎回IDやPASSWORD、秘密キーを指定しなければいけないので、なんとか自動化できないものかと調べてみると、自動ログインにマクロが使えるらしいことがわかった。
最初は以下を参考に手書きしてみたがどうも上手く行かない。 *[1]

Tera Termマクロ活用入門(1):各種ログインを自動化する – SourceForge.JP Magazine : オープンソースの話題満載

試行錯誤していると、Tera Termのインストールパッケージに入っていたLogMeTTが自動ログインに使えるとの事。どうもマクロ管理ツールらしい?
早速TeraTermを標準パッケージでインストールしなおし、LogMeTTもインストールした。 *[2]

インストール後の手順は以下。

  1. タスクトレイにあるLogMeTTのアイコンを右クリック、Configureを選択して管理画面を開く。
  2. This computerを右クリックしてAdd childしてやる。マクロ名は任意で。
  3. 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 password

    msg = 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

  4. 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

さくらのVPS

  1. 試していないけど上手くいかない原因は、多分文字コード、改行コードの問題だったんじゃないかと推測 []
  2. 最初はいろいろワケのわからないソフトが入るのが嫌でろくに調べもせずコンパクトパッケージでインストールしていた []

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. teraterm より:

    Host のところに hostname /user=foo /passwd=fuga /keyfile=”pathtokeyfile” と入力して覚えさせればいいはずですよ。

  2. suzukenn より:

    なるほど!そんな手があるんですね。
    教えていただきありがとうございます!

  3. teraterm より:

    あ、/auth= なんかも必要かもです。
    /ssh /user=foo /passwd=fuga /keyfile=”pathtokeyfile” /auth=publickey hostname:22