Tomahawk | おいぬま日報

CentOS 6.2で sudo 付きのコマンドを送る場合は

tomahawk -o=-t -l -h localhost 'sudo uptime'

のように、-o=-t をつけます。これでssh時に pseudo-tty が割り当てられる。ちなみに今開発中の0.5系はデフォルトで -o=-t がつく状態になっています。

あと、-D でデバッグ出力が有効になります。同僚からバグ報告をもらったのですが、”sudo: sorry, you must have a tty to run sudo
” と言われているので、「ああ、そういうことか」とわかりました。

$ bin/tomahawk -D -l -h localhost 'sudo uptime'[DEBUG] options = Namespace(command=['sudo uptime'],continue_on_error=None, debug=True, delay=0,expect_delay=0.050000000000000003, expect_encoding='utf-8',expect_timeout=None, hosts='localhost', hosts_files=None,no_sudo_password=False, output_format='${user}@${host} %${command}n${output}n', parallel=1, profile=False,prompt_login_password=True, prompt_sudo_password=False, ssh='ssh',ssh_options=None, ssh_user=None, timeout=10)[DEBUG] arguments = ['sudo uptime']Enter a password for ssh authentication:Enter a password for sudo: [DEBUG] command = ssh, args = ['-l', 'kazuhiro', 'localhost', '/bin/sh','-c', '"sudo uptime"'][DEBUG] expect index = 1[DEBUG] expect.EOF[DEBUG] child closed.[DEBUG] exit_status = 1[DEBUG] line = kazuhiro@localhost's password: *********[DEBUG] line = sudo: sorry, you must have a tty to run sudo[DEBUG] output_text = sudo: sorry, you must have a tty to run sudo[error] kazuhiro@localhost % sudo uptimesudo: sorry, you must have a tty to run sudoCommand failed ! (status = 1)[error] Command "sudo uptime" failed on host "localhost"

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中