« 2009年2月 | トップページ | 2009年8月 »

2009年3月

TeraTerm のマクロ機能でSSHサーバでのコマンド処理を自動化する自動化する方法

TeraTerm のマクロ機能でSSHサーバでのコマンド処理を自動化する方法

teraterm

スポンサーリンク

キーワード: TeraTerm、SSH、自動ログイン、自動化、サーバ運用、ログフォーマット

このエントリーをはてなブックマークに追加

 

1. 概要

Windows のSSH クライアントソフト TeraTerm のマクロ機能を使って自動でSSHログインしてサーバでのコマンド処理などを自動化する方法を紹介します。

server1 に公開鍵認証でログイン後、自動的に server2 にSSHログインするマクロの例です。TeraTerm接続ログを日付形式(YYYYmmdd-HHMM)で記録します。このマクロを使うことで、自動的に対象マシンにSSHでログインして、コマンド等を実行して結果を取得するなどの処理を自動化することが出来ます。

2. 自動SSHログインするTeraTerm マクロの概要

  1. ログファイルフォーマットの設定(YYYYmmdd-HHMM.log)
  2. ログ取得開始
  3. server1 へ SSH ログイン(公開鍵認証、パスフレーズを聞いてくる)
  4. server1 から server2 へSSH ログイン(パスワード認証、パスワード自動送信)

 

3. TeraTerm マクロの例

スポンサーリンク

getdate curDate
strcopy curDate 1 4 Year
strcopy curDate 6 2 Month
strcopy curDate 9 2 Day
gettime curTime

strcopy curTime 1 2 Hour
strcopy curTime 4 2 Min
strcopy curTime 7 2 Sec

strconcat logfile 'c:\'
strconcat logfile Year
strconcat logfile Month
strconcat logfile Day
strconcat logfile '-'
strconcat logfile Hour
strconcat logfile Min
strconcat logfile '.log'

connect 'SEREVR1:PORT /ssh /2 /auth=publickey /user=USER1 /ask4passwd /keyfile=id_rsa'

logopen logfile 0 1

wait '[USER1@SERVER1'
sendln 'ssh SERVER2'
wait USER2@SERVER2's password:
sendln 'password'

sendln '自動実行したいコマンドやバッチ'

  • SERVER1:PORT 一段目のSSHサーバとポート番号
  • USER1 一段目のSSHサーバのログインユーザ名
  • id_ras 一段目のSSHサーバのログインユーザの秘密鍵
  • SERVER2 二段目のSSHサーバ
  • USER2 二段目のSSHサーバのログインユーザ名

 

4. TeraTerm マクロの実行

TeraTerm のマクロファイルは、拡張子が .ttl となっています。ttmacro.exe と関連付けされていれば、マクロファイルをダブルクリックすれば実行されます。
実行できない場合は、%PROGRAMFILES%\teraterm\ttpmacro.exe と関連付けを行ってください。

スポンサーリンク

bash shell prompt 設定

bash shell prompt 設定

よく忘れるのでメモっておく。

PS1="[\u@\h \d \t]\$ "

[username@hostname Thu Mar 12 11:18:44]$

IP アドレスを 2進数および 10進数に変換 (perl)

IP アドレスを 2進数および 10進数に変換 (perl)


キーワード: IPアドレス変換、2進数、10進数

                                   

このエントリーをはてなブックマークに追加

文字列のIPアドレスを数値に変換

ログ解析や統計処理などを行う際、文字列のIPアドレス(例えば"10.0.0.1" など)を、数値("167772161" など)に変換して処理したいことがあります。その際に使える文字列の IPアドレスを数値に変換する簡単な perl スクリプトを紹介します。

IP アドレス 10.0.0.1 を 2進数および 10進数に変換する

perl -e 'my $bin = sprintf "%08b%08b%08b%08b", 10,0,0,1; print "$bin\n"; print oct("0b$bin") . "\n"';

00001010000000000000000000000001
167772161

その逆

perl -e '$dec = 167772161 ; $bin = sprintf "%032b", $dec; my @list = $bin =~ m/.{8}/g;  print oct("0b$list[0]") . "." . oct("0b$list[1]") . "." . oct("0b$list[2]") . "." . oct("0b$list[3]") . "\n"'

10.0.0.1

スポンサーリンク

X のキーボードレイアウトが英字配列になってしまう

X のキーボードレイアウトが英字配列になってしまう

「システム」-「ハードウェア」-「キーボード」の「レイアウト」で、

Japan に設定すると直るが、ログアウトすると USA に戻ってしまう。

/etc/sysconfig/keyboard
/etc/X11/xorg.conf

は jp, jp106 に設定している。原因がよく分からない。

暫定対策として、~/.bashrc に setxkbmap jp を設定して対応した。

« 2009年2月 | トップページ | 2009年8月 »

記事一覧

スポンサードリンク


Twitter


無料ブログはココログ

ブログ検索