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」としたところ正常に動作するようになりました。