Hi,
First, to answer your question directly... No. On the remote machine.
Second, changing the default for all users might be an overkill. And an overkill that your admins don't accept. I have verified that using the following would work for the specific <my non root user> that you're using in the ssh command:
Defaults:<my non root user> !requiretty
But, this may only be needed while running it manually. It was needed for me to run it manually. And the purpose of running it manually is to make sure that the command works as you expect it to work without having to parse through agent logs, etc.. Once you have gotten it to work then:
a. you know what command to use successfully via the action; and
b. you might be able to remove that entry based on some of the other agent fields (like force tty). I haven't tried the action with/without these sudo settings so your findings would be much appreciated.
Also, I'm taking a closer look at the command you're running (sudo su - <username>; tar -cvf abc.tar abc/). I think the command will have a problem all by itself. It does if I try something similar on the local machine. Running it on the local machine takes ssh out of the equation - which is probably step 1. Then step 2 would be testing it manually with ssh and comparing the versions of this command that you get working with the options that action offers to result in a working version of the action.
But I digress. The command that I needed to run to successfully run something similar to what you show in your screenshot was: sudo su - <username> -c "cat /tmp/test.txt"
This assumes that su is really necessary and you can't just use sudo in a command like this:
sudo -u <username> cat /tmp/test.txt
I hope this helps.
Regards,
Gregg