Sponsored Content
Top Forums UNIX for Advanced & Expert Users Error - sudo: no tty present and no askpass program specified Post 302685633 by steadyonabix on Monday 13th of August 2012 06:54:09 AM
Old 08-13-2012
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 -

Code:
sudo: no tty present and no askpass program specified

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 -

Code:
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="set -- ${SSH_ORIGINAL_COMMAND}; PSWD=$1; [[ $PSWD == welcome ]] || exit; [[ -f /tmp/muse.tar ]] || exit; NEWVERSION=$(tar xfO /tmp/muse.tar muse/lib/muse_version); [[ -n $NEWVERSION ]] || exit; OLDVERSION=;  [[ -f /usr/bin/muse/lib/muse_version ]] && OLDVERSION=$(cat /usr/bin/muse/lib/muse_version); [[ -n $OLDVERSION ]] && [[ $OLDVERSION -ge $NEWVERSION ]] && exit; [[ -d /usr/bin/muse ]] && sudo /bin/rm -rf /usr/bin/muse; sudo /bin/tar xvf /tmp/muse.tar -C /usr/bin && sudo /bin/chown -R musedeploy:muse_user /usr/bin/muse "

and in my sudoers.d file -

Code:
Cmnd_Alias MUSE_CMD = /bin/mv /tmp/muse.* muse.tar, /bin/rm -rf /usr/bin/muse,/bin/tar xvf /tmp/muse.tar -C /usr/bin,/bin/chown -R musedeploy\:muse_usr /usr/bin/muse
%musedeploy ALL = (root) NOPASSWD: MUSE_CMD

At the moment I am using the command -

Code:
ssh musedeploy@${SERVER} ${PSWD} || die "Deployment failed"

I could just not trap the error and dump stderr, but I'd rather understand what's going on if anyone can suggest anything.

Cheers

Steady
 

10 More Discussions You Might Find Interesting

1. Solaris

How to remove sudo program

How to completely uninstall sudo program? Thank u in advance (1 Reply)
Discussion started by: unitipon
1 Replies

2. Red Hat

sudo: no tty present and no askpass program specified

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)
Discussion started by: linuxgeek
3 Replies

3. Shell Programming and Scripting

how to execute a program present on another server using SFTP in perl

Hi, I want to execute a program which is present on another server. i want to use SFTP in perl, is it possible? how ? thanks. (1 Reply)
Discussion started by: anandgodse
1 Replies

4. Shell Programming and Scripting

sudo: sorry, you must have a tty to run sudo

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)
Discussion started by: Apple1221
9 Replies

5. Red Hat

sudo: no tty present and no askpass program specified

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)
Discussion started by: chidori
4 Replies

6. UNIX for Dummies Questions & Answers

linux sudo: no tty present and no askpass program specified

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)
Discussion started by: jeff-fafa
8 Replies

7. Shell Programming and Scripting

sudo: sorry, you must have a tty to run sudo

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)
Discussion started by: Satyak
8 Replies

8. Solaris

[Solved] No tty present and no askpass program specified!

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)
Discussion started by: raj100
2 Replies

9. UNIX for Beginners Questions & Answers

No tty present and no askpass program specified

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)
Discussion started by: Junaid Subhani
4 Replies

10. Shell Programming and Scripting

Python: Redirecting to tty and reading from tty

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)
Discussion started by: SkySmart
2 Replies
getusershell(3C)					   Standard C Library Functions 					  getusershell(3C)

NAME
getusershell, setusershell, endusershell - get legal user shells SYNOPSIS
#include <unistd.h> char *getusershell(void); void setusershell(void); void endusershell(void); DESCRIPTION
The getusershell() function returns a pointer to a legal user shell as defined by the system manager in the file /etc/shells. If /etc/shells does not exist, the following locations of the standard system shells are used in its place: /bin/bash /bin/csh /bin/jsh /bin/ksh /bin/ksh93 /bin/pfcsh /bin/pfksh /bin/pfsh /bin/sh /bin/tcsh /bin/zsh /sbin/jsh /sbin/pfsh /sbin/sh /usr/bin/bash /usr/bin/csh /usr/bin/jsh /usr/bin/ksh /usr/bin/ksh93 /usr/bin/pfcsh /usr/bin/pfksh /usr/bin/pfsh /usr/bin/sh /usr/bin/tcsh /usr/bin/zsh /usr/sfw/bin/zsh /usr/xpg4/bin/sh The getusershell() function opens the file /etc/shells, if it exists, and returns the next entry in the list of shells. The setusershell() function rewinds the file or the list. The endusershell() function closes the file, frees any memory used by getusershell() and setusershell(), and rewinds the file /etc/shells. RETURN VALUES
The getusershell() function returns a null pointer on EOF. BUGS
All information is contained in memory that may be freed with a call to endusershell(), so it must be copied if it is to be saved. NOTES
Restricted shells should not be listed in /etc/shells. SunOS 5.11 1 Nov 2007 getusershell(3C)
All times are GMT -4. The time now is 06:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy