lolipopではsshによるリモートログインが可能なのですが、セキュリティ対策のため、ユーザがパスワードを指定する事が出来ずランダム文字列になっています。
しかもこの文字列、30文字以上あるので管理が面倒です。
そこで、今回はTeraTeramを使用して、lolipopのサーバにログインできるよう、マクロを組んでみます。
また、パスワードは一度入力したら、暗号化した形で保存しておき、毎回入力しないで済むようにします。
SSHで安全なリモートアクセスを構築する
まず、下記のファイルをlolipop.ttlというファイルで保存します。
; パスワード保存ファイル(暗号化して保存) PASSFILE = 'C:\\TeraTermPw.txt' ; 接続先サーバ,ユーザ名 HOSTADDR = 'sshXXX.lolipop.jp' ; 接続先サーバを指定 USERNAME = 'XXXXXX' ; 接続ユーザ名を指定 ; パスワードが保存されていなければダイアログを表示 getpassword PASSFILE HOSTADDR PASSWORD ; sshの接続コマンドを組み立てる(lolipop ssh port=2222) strconcat COMMAND ':2222 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ; サーバに接続する connect COMMAND ; 接続エラーの場合は終了 if result<>2 then messagebox ‘サーバに接続できませんでした.’ ‘error’ end endif |
ファイル中のHOSTADDR、USERNAME には実際に管理しているサーバ、ユーザ名を入力して下さい。
これらの値lolipopの管理画面から確認できます。
Webツール→SSHを選択すると表示されます。

次に、このファイルをパラメータに、TeraTermを自動起動するバッチを書きます。
login.bat
C:\xxx\TeraTerm\ttermpro.exe /M=C:\lolipop.ttl |
これで、バッチを実行するだけで、lolipopのサーバにログインする事ができます。
(初回だけパスワードを聞かれます)
さらに、ttlファイルの”connect COMMAND”の前に、以下の記述を追加すると、実行したコマンドをログファイルに落とす事も可能です。
; ログファイルを指定する(フォルダは事前に作成する必要あり) getdate datestr gettime timestr strcopy timestr 1 2 hourstr strcopy timestr 4 2 minutestr strcopy timestr 7 2 secondstr filename = 'c:\\log_teraterm_' strconcat filename datestr strconcat filename '_' strconcat filename hourstr strconcat filename minutestr strconcat filename secondstr strconcat filename '.log' ;messagebox filename "ログファイル名" logopen filename 0 0 |
また、ttlファイルの最後に以下のように書くと,ログインした直後にコマンドを実行することが出来ます。
; コマンドを実行 wait '$' sendln 'date' |
例ではdateコマンドを実行していますが、ワンクリックで簡単にログを見たいときなどは、sendlin ’tail -f logtile.txt’などと書いておくと、手間が省けて便利です。
Linuxセキュリティ入門
関連記事
コメントを残す