質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

ネットワークスペシャリスト

ネットワークスペシャリスト試験 (NW)は、IPA 独立行政法人 情報処理推進機構の実施している国家資格です。

Q&A

2回答

8551閲覧

teratermマクロエラー

narururu

総合スコア170

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

ネットワークスペシャリスト

ネットワークスペシャリスト試験 (NW)は、IPA 独立行政法人 情報処理推進機構の実施している国家資格です。

0グッド

0クリップ

投稿2019/05/04 10:17

編集2022/01/12 10:55

###実現したいこと
teratermマクロを使って自動ログインしたい。

###構成
PCとCatalyst3750(Fastethernet1/0/1)を直結。

###設定内容
マクロファイルは以下のページから引用。
http://kazunetproject.site/1178/

;********************************** ; 作成者:ベル ; Version : 1.0版 ; 内容:機器にログインするだけのマクロ ;********************************** ; 変数の事前指定 ; 接続先アドレス・ユーザ名・パスワード設定 HOSTADDR = ‘10.0.0.1’ USERNAME = ‘user’ PASSWORD = ‘password’ ;********************************** ### ; ログインパラメータの指定 ; ログイン先アドレスの指定 COMMAND = HOSTADDR strconcat COMMAND ‘:23 /nossh /T=1’ ;********************************** ; 機器へログイン(接続先アドレス) connect COMMAND ; ログイン応答(ユーザ名・パスワード) wait ‘Username:’ sendln USERNAME wait ‘Password:’ sendln PASSWORD ;********************************** ; マクロ終了 end ;**********************************

ログインする機器の設定は以下の通り。

naru#show run Building configuration... Current configuration : 1576 bytes ! version 12.2 no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname naru ! enable password password ! username user password 0 password no aaa new-model switch 1 provision ws-c3750-24ts system mtu routing 1500 ip subnet-zero ! ! ! ! no file verify auto spanning-tree mode pvst spanning-tree extend system-id ! vlan internal allocation policy ascending ! ! interface FastEthernet1/0/1 no switchport ip address 10.0.0.1 255.255.255.0 ! interface FastEthernet1/0/2 ! interface FastEthernet1/0/3 ! interface FastEthernet1/0/4 ! interface FastEthernet1/0/5 ! interface FastEthernet1/0/6 ! interface FastEthernet1/0/7 ! interface FastEthernet1/0/8 ! interface FastEthernet1/0/9 ! interface FastEthernet1/0/10 ! interface FastEthernet1/0/11 ! interface FastEthernet1/0/12 ! interface FastEthernet1/0/13 ! interface FastEthernet1/0/14 ! interface FastEthernet1/0/15 ! interface FastEthernet1/0/16 ! interface FastEthernet1/0/17 ! interface FastEthernet1/0/18 ! interface FastEthernet1/0/19 ! interface FastEthernet1/0/20 ! interface FastEthernet1/0/21 ! interface FastEthernet1/0/22 ! interface FastEthernet1/0/23 ! interface FastEthernet1/0/24 ! interface GigabitEthernet1/0/1 ! interface GigabitEthernet1/0/2 ! interface Vlan1 no ip address shutdown ! ip classless ip http server ! ! ! control-plane ! ! line con 0 logging synchronous line vty 0 4 password password logging synchronous login transport input telnet line vty 5 15 password password logging synchronous login transport input telnet ! end

###ステータス
・PCとCatalyst3750間はping疎通可。
・手動ではtelnetログイン可。

###事象
以下のURLで記載されている方法①と③を試した結果...
https://www.j-oosk.com/teraterm/macro/173/
①コントロールメニューからのマクロ実行
→文法間違いマクロエラーのダイアログボックスが出現。
イメージ説明
③ショートカットからマクロ実行
→"C:\Program Files\teraterm\ttpmacro.exe" "/V" "C:\Program Files (x86)\teraterm\機器にログインするためのマクロ.ttl"で作成しようとすると以下のエラーが出現。
イメージ説明
→"C:\Program Files (x86)\teraterm\機器にログインするためのマクロ.ttl"であれば作成できたが、デスクトップには以下のアイコンが表示され、クリックしてもマクロは実行されず、テキストが表示される。
イメージ説明

手動でteratermを開くと以下の画面が表示される。
イメージ説明
ポート番号を23に変更し、OKをクリックすると以下の通り、ログインできる。
イメージ説明

以上の状況で、何か分かる方いらっしゃいますでしょうか。
因みに今回使用しているCatalyst3750のバージョンはVersion 12.2(35)SE5でsshの設定は不可のためtelnetの設定をしております。

以上、よろしくお願いいたします。

###追加
イメージ説明
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

文法エラーは解消されてマクロは実行されたけど、↓の初めのwait(wait ‘Username:’)でUsername:が表示されるまで待っている状態かと予想されます。

; ログイン応答(ユーザ名・パスワード) wait ‘Username:’ sendln USERNAME wait ‘Password:’ sendln PASSWORD

マクロ無しでログインする場合が、↓の画像になるのかと思いますが、ログインユーザ名の入力タイミングはどこになりますか?
イメージ説明

①User Access Verification 表示される → ログインユーザ名入力する → Password: 表示される
の場合

wait ‘Username:’

を↓に変更

wait ‘User Access Verification’

②何も表示されていない状態 → ログインユーザ名入力する → User Access Verification 表示される
の場合

wait ‘Username:’

を削除

※ もし、タイミング的にダメなら

wait ‘Username:’

を↓に変更 (1秒待つ)

pause 1

を試してみてはいかがでしょうか?

投稿2019/05/06 14:51

Akashic

総合スコア298

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

narururu

2019/05/06 15:13

Akashicさんのご指摘の方法は試してみたのですが、残念ながら結果は変わらずです。 usenameの入力はないため、今回のマクロの記述ではusernameを削除し、User Access Verificationを追加して実行したのですが、動かないです。※質問欄に画像を追加しました。
Akashic

2019/05/06 23:07

確認ありがとうございます。①の流れと認識しました。 変更後のwait ‘User Access Verification’の最後に:ついてますか? もし、付いている場合は不要ですので消してみてください。 また、停止しているとき(中断、終了のダイアログが出ているとき)のターミナル画面(背景が黒い画面)の表示はどうなっていますか?
yukky1201

2019/05/09 15:22

追加の画像の「User Access Verification:」の前後の括文字も「'」にそろっていないので、全体的に確認してみてください。 またショートカットの作成について、参考サイトの文字列そのまま記載されてますが環境が違うので、teratermインストールフォルダがC:\Program Files (x86)\teratermであれば、ttpmacro.exeが見つからないのは当然です。ご自身の環境に合わせて書き換えましょう。
narururu

2019/05/28 14:38

yukky1201さん(^_^) ご回答ありがとうございます。 返事が遅れてしまい、大変申し訳ございません。 現在、本環境をいじれる状態ではないので、機会がありましたら再度設定を見直してみます。
guest

0

マクロについてですが、参考ページからコピペすると以下(エラー部分含む)の6箇所で、文字列の前後のシングルコーテーションが全角文字になっているようでした。半角にするといかがでしょうか?

‘ → '

↓対象箇所↓

HOSTADDR = ‘10.0.0.1’ USERNAME = ‘user’ PASSWORD = ‘password’ strconcat COMMAND ‘:23 /nossh /T=1’ wait ‘Username:’ wait ‘Password:’

投稿2019/05/06 12:02

編集2019/05/06 12:03
Akashic

総合スコア298

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

narururu

2019/05/06 14:18

ご回答ありがとうございます。Akashicさん☺ 全て半角に変更し、試しました。シンタックスエラーはなくなりましたが、 「中断」「終了」のダイアログボックスが表示され動かない状態です。 マクロの中身を変えたりして試しておりますが、やはり同じ結果で動きません。
Akashic

2019/05/06 14:53

文法エラーは解消されてマクロは実行されたけど、↓の初めのwait(wait ‘Username:’)でUsername:が表示されるまで待っている状態かと予想されます。 ``` ; ログイン応答(ユーザ名・パスワード) wait ‘Username:’ sendln USERNAME wait ‘Password:’ sendln PASSWORD ``` マクロ無しでログインする場合が、↓の画像になるのかと思いますが、ログインユーザ名の入力タイミングはどこになりますか? ![イメージ説明](b5c233267cd06884e88c2214f8bf0e60.png) ①User Access Verification 表示される → ログインユーザ名入力する → Password: 表示される  の場合 ``` wait ‘Username:’ ``` を↓に変更 ``` wait ‘User Access Verification’ ``` ②何も表示されていない状態 → ログインユーザ名入力する → User Access Verification 表示される  の場合 ``` wait ‘Username:’ ``` を削除 ※ もし、タイミング的にダメなら ``` wait ‘Username:’ ``` を↓に変更 (1秒待つ) ``` pause 1 ``` を試してみてはいかがでしょうか?
Akashic

2019/05/06 14:54

すいません、間違えて新規コメントで書いてしまいました。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問