サイドバー

ソフトウェア:teraterm:パスフレーズ付きの鍵認証方式でのssh自動ログインマクロ

【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

コメント

赤カプ, 2023/04/10 07:36

キーファイルのパス名を““で囲って渡せば、スペースが入っていても大丈夫です。

humo, 2023/04/11 12:37, 2023/04/11 12:41

赤カプ 様

コメントありがとうございます。

私の環境(Windows11)で試してみましたところ、passwdfile につきましては “” に変更することでスペースが入っていても動くことが確認できました!

ただ、userkeyfile の方は、以下のように “” に変更してもスペースが混入しているとマクロが正常に動作せず接続できませんでした。

userkeyfile = “C:\Tool\TeraTerm\秘密鍵の ファイル名”

環境によるものなのか、バージョン(Version 4.99)によるものなのかは不明です。

コメントを入力. Wiki文法が有効です:
 
ソフトウェア/teraterm/パスフレーズ付きの鍵認証方式でのssh自動ログインマクロ.txt · 最終更新: 2021/03/11 11:32 by humolife