ZAPAnet総合情報局 > ZAPAブログ2.0 > Tera Term の鍵認証で自動ログインするマクロ

Tera Term の鍵認証で自動ログインするマクロ

2020年05月11日 プログラミングTIPS
前記事に「SSHで鍵認証できないときのメモ」を書いたので、ついでにTera Termで自動ログインする方法もメモしておきます。

公開鍵認証タイプで全自動ログイン

サーバーへのログインは鍵認証タイプのとき、「自分がよく使うTeratermマクロによる自動ログインのやり方をまとめてみたよ - Qiita」のページを参考に、以下のような.sslファイルを作ります。

;=====================================================================
; 接続情報
HOSTADDR = 'hostaddr'
USERNAME = 'username'
PASSWORD = 'password'
KEYFILE  = 'authfile'
;=====================================================================

; コマンドオプション組立て
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE

; 接続
connect COMMAND

end
         
hostaddrにIPアドレス、usernameにユーザーネーム、passwordにパスワード、authfileに前記事で作った「id_rsa」ファイルの絶対パスを書きます。これで.sslファイルの作成は完了です。

そして、「.ssl」のファイルを「ttpmacro.exe」に関連付けます。「ttpmacro.exe」は、「ttermpro.exe」と同じフォルダに入っているはずです。

関連付けが終わったら、今作った「○○.ssl」というファイルを実行すると、自動的にマクロが起動し、Tera Termでサーバーにログインできます。Tera Termにログインするときに、いちいちユーザー名を入力して、秘密鍵を選択して、パスワードを入力してという面倒な作業を短縮できます。

テスト用サーバーでユーザーを切り替えながら頻繁にログインするときなどは、こうやってマクロで一発ログインできるようにしておくと作業が捗ります。ただし、セキュリティ的に弱いので、本番環境ではオススメできません。

公開鍵認証タイプでパスワードだけ手動入力し自動ログイン

上の全自動タイプから少しセキュリティを高めたタイプを作りました。秘密鍵のパスワードだけを手動入力する方法です。今度は、以下のように.sslファイルを作成します。

;=====================================================================
; 接続情報
HOSTADDR = 'hostaddr'
USERNAME = 'username'
KEYFILE  = 'authfile'
;=====================================================================

msg = 'パスワードを入力してください。'
passwordbox msg 'パスワード入力'

; コマンドオプション組立て
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND inputstr
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE

; 接続
connect COMMAND

end
         
これで、作った.sslファイルを実行すると、パスワード入力を求められるようになります。
Tera Term macro

パスワードを間違うと、「SSH2秘密鍵の読み込みに失敗しました」と言われて、認証失敗してくれます。正しいパスワードを入力すると、正常にサーバーにログインできます。上の全自動ログインタイプよりかはセキュリティが高いです。

でも本番環境では、面倒でもユーザー名、鍵ファイル、パスワードを入力してログインした方がいいでしょう。