公開鍵と秘密鍵を用いた鍵認証方式の、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\秘密鍵のファイル名"'