YAMAHAルーターへAnsible telnetモジュールを使ってユーザー名なしでログイン
YAMAHAのルーターへ定期的にtelnetでログインして各種ステータスを取得するのをAnsibleで自動化しようとして詰まったのでメモ。
ルーターを用意できていなかったときに、テスト用に立てていたtelnetサーバーへは問題なく処理できていた。
そのうち、ルーターが用意できたのでユーザー名を指定せずに共通ユーザーでログインしようと下記のように設定したら、タスクがいつまでたっても進まなくなった。
- name: ルーター情報取得
telnet:
password: soge
prompts:
- "[$|>]|Password: "
command:
- console character en.ascii
- show status dhcpc
このとき、telnetモジュールは、userパラメータを省略すると"remote_user"を使用してアクセスしようとしてしまうので、存在しないユーザーのパスワードを要求される自体に陥っていた。
そこで、下記のように修正することで、ユーザー名なしでアクセスすることに成功した。
- 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
Author And Source
この問題について(YAMAHAルーターへAnsible telnetモジュールを使ってユーザー名なしでログイン), 我々は、より多くの情報をここで見つけました https://qiita.com/tomohideyo/items/d671655e9ea77944d469著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .