LoginSignup
1
5

More than 3 years have passed since last update.

YAMAHAルーターへAnsible telnetモジュールを使ってユーザー名なしでログイン

Last updated at Posted at 2019-08-28

YAMAHAのルーターへ定期的にtelnetでログインして各種ステータスを取得するのをAnsibleで自動化しようとして詰まったのでメモ。

ルーターを用意できていなかったときに、テスト用に立てていたtelnetサーバーへは問題なく処理できていた。
そのうち、ルーターが用意できたのでユーザー名を指定せずに共通ユーザーでログインしようと下記のように設定したら、タスクがいつまでたっても進まなくなった。

tasks/main.yml
- name: ルーター情報取得
  telnet:
    password: soge
    prompts:
      - "[$|>]|Password: "
    command:
      - console character en.ascii
      - show status dhcpc

このとき、telnetモジュールは、userパラメータを省略すると"remote_user"を使用してアクセスしようとしてしまうので、存在しないユーザーのパスワードを要求される自体に陥っていた。
そこで、下記のように修正することで、ユーザー名なしでアクセスすることに成功した。

tasks/main.yml
- name: ルーター情報取得
  telnet:
    user: soge
    login_prompt: "Password: "
    prompts:
      - "[$|>]"
    command:
      - console character en.ascii
      - show status dhcpc

「user: ""」と設定するとansibleに怒られるので、これしか方法がない?

参考:
Ansible telnetモジュールでYamahaルータを操作
 https://qiita.com/sat0ken/items/1bb2c6aecc677b9bdc66
Ansible telnet without username login
 https://stackoverflow.com/questions/53777121/ansible-telnet-without-username-login

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5