Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (3,768)  
Tera Term  (1,863)  
CrystalDiskInfo  (1,753)  
HandBrake Japanese Language Version  (1,682)  
CrystalDiskMark  (840)  
FFFTP  (808)  
ffdshow  (757)  
MergeDoc  (629)  
mixfont-mplus-ipa  (619)  
10  TortoiseSVN  (517)  
11  FreeMind  (445)  
12  BathyScaphe  (421)  
13  Amateras  (380)  
14  Boookends  (375)  
15  SMPlayer  (370)  
More >>

Tera Termマクロ活用入門(1):各種ログインを自動化する

2010年01月08日 19:00 松島浩道 1 2 3 4 5

自動多段ログイン

 ネットワーク環境によっては、あるサーバー(中継サーバー)にSSHでログインし、さらにそのサーバーから別のサーバーにログインする、という作業が必要な場合がある。このような場合、中継サーバーへのログインと、そこから目的のサーバーへのログインを自動で行うようにマクロを用意すると便利だ。たとえば、上記で紹介している自動接続マクロの最後に次のリスト7のマクロを追加すればよい。

リスト7 リモートホストへの接続語、自動的に別のホストにSSH接続するマクロ

;; 2段目のSSH接続
host_2nd = '<ユーザー名>@<ホスト名> ; 目的のサーバー(2回目のSSH先)のユーザー名とホスト名。例)otp@192.168.3.4
remote_prompt = '$' ; シェルのプロンプトを指定する。bash系なら「$」、cshなら「%」、tcshなら「>」など

ssh_command = 'ssh '
strconcat ssh_command host_2nd

wait remote_prompt
sendln ssh_command

 たとえば、リスト4にこのマクロを追加したものを実行すると、Tera Termの起動後にまず中継サーバーへのSSH接続が行われ、続いて目的のサーバーへの接続が行われてパスフレーズ(もしくはパスワード。環境によって異なる)が要求される(図5)。

図5 多段ログインの実行例
図5 多段ログインの実行例

 また、リスト7の代わりにリスト8のようなマクロを利用することで、2回目以降はパスワードの入力を行わずに目的のサーバーへのログインが可能になる。

リスト8 リモートホストへの接続語、自動的に別のホストにSSH接続するマクロ(自動ログイン版)

;; 2段目のSSH接続
host_2nd = '<ユーザー名>@<ホスト名> ; 目的のサーバー(2回目のSSH先)のユーザー名とホスト名。例)otp@192.168.3.4
remote_prompt = '$' ; シェルのプロンプトを指定する。bash系なら「$」、cshなら「%」、tcshなら「>」など

ssh_command = 'ssh '
strconcat ssh_command host_2nd
passwdkey = hostname
strconcat passwdkey '-'
strconcat passwdkey host_2nd
passwd_prompt = 'pass'

getpassword passwdfile passwdkey password

wait remote_prompt
sendln ssh_command
wait passwd_prompt
sendln password

今回紹介したツール:Tera Term

最終更新:2010年06月16日 15:31
SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.