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

公開鍵と秘密鍵を用いた鍵認証方式の、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行目のファイルパスについては、環境に合わせて書き換えてください。

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

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

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

コメントにて、赤カプ様と、通りすがり様からご指摘頂きましたが、'の中でさらに“で囲むことで、ファイルパスに半角スペースが入っていても動作することが確認できました。

userkeyfile = '"C:\Tool\Tera Term\秘密鍵のファイル名"'