Error - sudo: no tty present and no askpass program specified
Hi
I am trying to automate the deployment of a tar ball onto a set of remote servers and am getting this error from the ssh -
What I have done is add some code into the user's ssh key that does a few things like delete the existing directory structure and untar the new one and so on.
It works fine from the command line, but I get this error when trying to embed the code in a script.
From the error it seems to be expecting a terminal session or an askpass program.
I don't really understand why I see this as the code is deployed and untarred ok???
At the moment, in the shh key I have -
and in my sudoers.d file -
At the moment I am using the command -
I could just not trap the error and dump stderr, but I'd rather understand what's going on if anyone can suggest anything.
For the 'no tty present', open up your sudoers file and look for a line that says
Quote:
Defaults requiretty
Change it so the requiretty has the negate character in front. Make it look like
Quote:
Defaults !requiretty
Notice the exclamation (negate) character in front of the requiretty
I'm confused by the code you are using
ssh musedeploy@${SERVER} ${PSWD} || die "Deployment failed"That looks like you are just trying to login to $SERVER as the user musedeploy and the failure is on the passwd. Does this account execute something on login?
Your sudo entry, is that on the $SERVER or is that on the local system? If you are wanting to execute the command on $SERVER then put the entry into the sudoers on $SERVER. You may want to setup passwd-less login for ssh as well.
With the !requiretty and the sudoers entry on $SERVER you could try your command as such:
As you have NOPASSWD in the sudoers there is no need to worry about that.
The MUSE_CMD sudoers entry, is that suppose to be a single command or are they a string of separate commands? It appears you have multiple individual commands, they are not executing in succession. Is that what you are trying for?
Actually I got it working and it turned out to be a bug in my code. Nothing to do with the tty at all.
Embedding code in the key is perfect for what I wanted to do but awful to parse for bugs etc as it all has to appear on one line. (Unless someone can show me otherwise).
This has been quite a learning curve. If you are ever looking for creative ways to screw up sudo and ssh, I'm your man!
And yes, I was trying to create a passwordless log in that was locked down to just running the code embedded in the key on the server.
In bash, you can do something like this:
#!/bin/bash
echo -n "What is your name? " > /dev/tty
read thename < /dev/tty
How can I do the same in python?
I have a python script that has the following content:
#!/usr/bin/python2.7
import getpass
import sys
import telnetlib
import... (2 Replies)
I am trying to rsync files from NodeA to NodeB.
Using the below command.
/usr/bin/rsync -v -a -e "ssh" --rsync-path="sudo -u msd rsync" /home/ansible/templates/app/Sprint6/webapps eric@NodeB:/opt/msdp/ca/iam_cac
I can only ssh into NodeB as eric user but I want files placed as msd user.... (4 Replies)
Hi Guys,
I use a script sdcmdeploy.ksh to deploy java application to respective dev/test environment. This script is being executed on SunOS. These apps are weblogic apps & the script internally calls weblogic deploy script to deploy application to weblogic cluster.
But at this point it... (2 Replies)
Hi, Have a need to run the below command as a "karuser" from a java class which will is running as "root" user. When we are trying to run the below command from java code getting the below error.
Command:
sudo -u karuser -s /bin/bash /bank/karunix/bin/build_cycles.sh
Error:
sudo: sorry,... (8 Replies)
Hi
I have an Oracle DBA that is trying to install an RPM from Stratavia which is a web based portal and it executes the following:
Instance Wrapper=sudo -u oracle /opt/datapalette/jython/jython
Server Wrapper=sudo -u root /opt/datapalette/jython/jython
I've compared the /etc/sudoers... (8 Replies)
i am trying overide the below error
sudo: sorry, you must have a tty to run sudoi am aware of ssh -t option. But just experimenting with OS :D
So, tried commenting out Defaults requiretty from my sudoers file after which i am getting the below error
sudo: no tty present and no askpass... (4 Replies)
Hi All,
I running a unix command using sudo option inside shell script. Its working well. But in crontab the same command is not working and its throwing
"sudo: sorry, you must have a tty to run sudo". I do not have root permission to add or change settings for my userid. I can not even ask... (9 Replies)
Hi Gurus:
Can you help me get out of this message ?
I already commented out the ff line in /etc/sudoers file but still prompts me for this message.
#Defaults requiretty
-sh-3.2$ ./check_diskErrors itag3.pm.staging.intra /dev/sda
sudo: no tty present and no askpass program specified... (3 Replies)