Skip to content

resolve the "tcgetattr: Invalid argument" error #29

@connaryscott

Description

@connaryscott

dispatcher produces these output warnings. This can be reproduced in a rundeck crontab definition using the following entries:

[chuck@sdp-centos-63-64-1 toolchain-example5]$ sudo crontab -u rundeck -l
* * * * * ssh -t -q  chuck@localhost id > /tmp/ssh_t.out 2>&1
* * * * * ssh -tt -q  chuck@localhost id > /tmp/ssh_tt.out 2>&1
* * * * * ssh -t -q  chuck@localhost sudo id > /tmp/ssh_t_sudo.out 2>&1
* * * * * ssh -tt -q  chuck@localhost sudo id > /tmp/ssh_tt_sudo.out 2>&1

each cron invoked session produces:

[chuck@sdp-centos-63-64-1 toolchain-example5]$ cat /tmp/ssh_t.out 
Pseudo-terminal will not be allocated because stdin is not a terminal.
uid=500(chuck) gid=500(chuck) groups=500(chuck),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[chuck@sdp-centos-63-64-1 toolchain-example5]$ cat /tmp/ssh_tt.out 
tcgetattr: Invalid argument
uid=500(chuck) gid=500(chuck) groups=500(chuck),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[chuck@sdp-centos-63-64-1 toolchain-example5]$ 

[chuck@sdp-centos-63-64-1 toolchain-example5]$ cat /tmp/ssh_t_sudo.out 
Pseudo-terminal will not be allocated because stdin is not a terminal.
sudo: sorry, you must have a tty to run sudo

[chuck@sdp-centos-63-64-1 toolchain-example5]$ cat /tmp/ssh_tt_sudo.out 
tcgetattr: Invalid argument
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Discussions have lead to the possibility of invoking sudo on the rundeck side where we sudo to a local user and then remotely dispatch from that user to the same user on the target node.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions