【Tera Term】鍵認証方式でのSSH自動ログインマクロ(パスフレーズ付き)

パスフレーズ付きの秘密鍵を用いた、SSH自動ログインマクロの書き方について。

※ プレインパスワードでの書き方は こちら
※ パスフレーズ無しの秘密鍵での書き方は こちら

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

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

getpassword passwdfile username userpasswd

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

connect msg

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

4行目のdatファイルは、パスフレーズを保存するファイル名です。
お好みに合わせて書き換えてください。
初回ログイン時に、パスフレーズの入力が求められるので、入力するとそのdatファイルに保存されます。

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

注意点

3行目と4行目のファイルパスに「半角スペース」が入らないようにしてください。
半角スペースがパスに混入していると、以下のエラーが発生します。

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