【Tera Term】「エージェント転送する&Pageantを使う」によるSSH自動ログインマクロ


公開鍵と秘密鍵を用いた鍵認証方式のログインを、「エージェント転送」と「Pageant」で行いたい場合の、マクロ作成方法です。

下記の内容を「ホスト名.ttl」などとして保存します。
「ttl」ファイルが、Tera Term に関連付けされていればダブルクリックするだけで自動ログインできるようになります。

username = 'アカウント名'
hostname = 'IPアドレス'
portnum = 'ポート番号'

msg = hostname
strconcat msg ':'
strconcat msg portnum
strconcat msg ' /ssh /2 /auth=publickey /user='
strconcat msg username
strconcat msg ' /auth=pageant'
strconcat msg ' /ssh-A'
strconcat msg ' /ssh-agentconfirm=off'

connect msg

settitle 'タイトル(ホスト名など)'

マクロ実行前に、あらかじめ pageant で秘密鍵を読み込んでおく必要があります。

コマンドの簡易説明
/auth=pageant Pageantを使用する
/ssh-A エージェント転送を有効にする
/ssh-agentconfirm=off エージェント転送要求を受け入れるか確認しない

その他のログインマクロについては以下より。
鍵認証方式でのSSH自動ログインマクロ
SSH自動ログインマクロ


【Tera Term】マクロによるウィンドウタイトルの設定方法


Tera Termを複数起動していると、どのウィンドウが、どのサーバーへの接続かパッと見で判別できず不便だな~と思ってましたが。

ふと「マクロで設定できるんじゃないか?」とマクロコマンド一覧を調べてみたら、案の定ありました。

settitle '設定したいタイトル'

この一行をマクロに追加するだけでできました。

日本語を設定しようとすると文字化けをしましたので、タイトルにはドメインなどを指定してあげると分かりやすくて良さそうです。

自動ログインマクロの作り方については以下から。

SSH自動ログインマクロ

鍵認証方式でのSSH自動ログインマクロ


【Tera Term】鍵認証方式でのSSH自動ログインマクロ


CPI のレンタルサーバーで公開鍵と秘密鍵を持ちいた鍵認証方式での SSH 自動ログインマクロを作ったので残しておきます。

(鍵認証を使わないSSH自動ログインマクロは、以前書いた記事「【Tera Term】SSH自動ログインマクロ」をご覧ください。)

 

下記の内容を「ホスト名.ttl」などとして保存します。
「ttl」ファイルが、Tera Term に関連付けされていればダブルクリックするだけで自動ログインできるようになります。

username = 'アカウント名'
hostname = 'IPアドレス'
userkeyfile = 'C:\Tool\TeraTerm\秘密鍵のファイル名'
portnum = 'ポート番号'

msg = hostname
strconcat msg ':'
strconcat msg portnum
strconcat msg ' /ssh /2 /auth=publickey /user='
strconcat msg username
strconcat msg ' /keyfile='
strconcat msg userkeyfile

connect msg

settitle 'タイトル(ホスト名など)'

3行目のファイル名は、パスフレーズを保存するファイル名です。
お好みに合わせて書き換えてください。
初回ログイン時に、自動でそのファイル名のファイルが作成されます。

3行目と4行目のファイルパスについては、ご自分の環境に合わせて書き換えてください。

このときの注意点としまして、ファイルパスに「半角スペース」が入らないようにしてください。
当初「TeraTerm」というフォルダ名に半角スペースを用いて「Tera Term」としていたところ

SSH2秘密鍵の読み込みに失敗しました
No such file or directory

というエラーが発生し、しばらく原因が分からず右往左往していました。
最終的にフォルダ名から半角スペースを削除し、「TeraTerm」としたところ正常に動作するようになりました。