今日の人気記事

  1. ssh - リモートマシンにSSHでログイン - Linuxコマンド
  2. gzip - ファイルを圧縮・展開 - Linuxコマンド
  3. ファイルの解凍・圧縮 - Linuxコマンド一覧(.zip .gz .Z .bz2 tar.gz .tgz tar.Z .taz .tar.bz2 .tbz2)
  4. tar - アーカイブの作成・展開 - Linuxコマンド
  5. export - 環境変数を定義・リスト表示する - Linuxコマンド

Tera Termマクロ - パスワード認証のSSH自動ログイン

スポンサーリンク

Windows対応のSSHクライアントTera Termには、便利なマクロ機能があります。ここでは、マクロ機能を利用したパスワード認証のSSH自動ログイン方法を解説します。

SSHサーバー情報です。以下のサーバーへSSH接続します。

IPアドレス:aaa.bbb.ccc.ddd
SSHのポート番号:22
ユーザー:karuma
パスワード:XXXXXXXX
スポンサーリンク

拡張子.ttlファイルの関連付け

Tera Termのマクロは、ttl(Tera Term Language)という拡張子の形式で保存します。このマクロファイルを利用するには、拡張子(.ttl)をttpmacro.exeに関連付ける必要があります。まずは、ファイルの関連付けを行いましょう。

tera-term31
※この画像のようにTera Termのインストール時に「.ttlファイルをttpmacro.exeに関連付ける」にチェックを入れた場合は、既に関連付けられています。

準備

teratermフォルダ(c:¥Program Files (x86)¥teraterm)に用意されているSSH自動ログインのひな形マクロファイル(ssh2login.ttl)をコピーします。

SSHサーバー情報に合わせて、コピーしたマクロファイルを編集します。編集には、テキストエディタ(メモ帳など)を利用します。

パスワード認証のSSH自動ログインマクロ

準備が整ったら、早速マクロを作成しましょう。用途に合わせていくつかのバージョンを作成しましたので、参考までにどうぞ。

①パスワード入力版
②パスワード保存版(平文)
③パスワード保存版(暗号化)

①パスワード入力版

username = 'karuma'
hostname = 'aaa.bbb.ccc.ddd'
portnum = '22'

msg = 'Enter password for user '
strconcat msg username
passwordbox msg 'Get password'

msg = hostname
strconcat msg ':portnum /ssh /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg inputstr

connect msg

※ひな形ファイルからポート番号を変数として、入力できるように編集しています。

tera-term40
編集したマクロファイル(ssh2login.ttl)を実行します。

tera-term41
パスワードを入力し、「OK」をクリックすれば、SSH接続完了です。


②パスワード保存版(平文)

マクロファイルにパスワードを保存し、SSH接続を自動化します。

username = 'karuma'
hostname = 'aaa.bbb.ccc.ddd'
userpasswd = 'XXXXXXXX'
portnum = '22'

msg = hostname
strconcat msg ':portnum /ssh /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg userpasswd ← ここでパスワード変数(userpasswd)を利用
strconcat msg inputstr

connect msg

tera-term40
編集したマクロファイル(ssh2login.ttl)を実行すると、自動的にSSH接続されます。

※パスワードを入力する必要がないので、楽ちんなのですが、パスワードが平文で丸見えなので、このマクロは推奨できません。


③パスワード保存版(暗号化)

パスワード暗号化ファイル(passwd.dat)でパスワードを保存し、SSH接続を自動化します。

username = 'karuma'
hostname = 'aaa.bbb.ccc.ddd'
passwdfile = 'passwd.dat'
portnum = '22'

getpassword passwdfile username userpasswd ← パスワード暗号化

msg = hostname
strconcat msg ':portnum /ssh /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg userpasswd
strconcat msg inputstr

connect msg

tera-term40
編集したマクロファイル(ssh2login.ttl)を実行します。

tera-term42
パスワードの入力を促されるので、パスワードを入力し、「OK」をクリックします。

※ここで入力したパスワードは暗号化され、パスワードファイル(passwd.dat)として保存されます。そのため、次回からパスワードを入力する必要はありません。

暗号化されたパスワードファイルには、ユーザー名と暗号化されたパスワードが保存されています。

[Password]
karuma=0***************oAB

以上、「Tera Termマクロ - パスワード認証でSSH自動ログイン」でした。できれば、一番安全なパスワードを保存しない①の方法を利用しましょう。③もパスワードが保存されているので比較的安全です。②は……使用しないほうがいいでしょう。

スポンサーリンク

関連記事と広告