ssh foo.com sudo command - Prompts for sudo password as visible text. Help?


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ssh foo.com sudo command - Prompts for sudo password as visible text. Help?
# 1  
ssh foo.com sudo command - Prompts for sudo password as visible text. Help?

I am writing a BASH script to update a webserver and then restart Apache. It looks basically like this:

Code:
#!/bin/bash
rsync /path/on/local/machine/ foo.com:path/on/remote/machine/
ssh foo.com sudo /etc/init.d/apache2 reload

rsync and ssh don't prompt for a password, because I have DSA encryption keys. However, if rsync or ssh did prompt for a password, it would be invisible as I typed it in.

Sadly, sudo does prompt for a password. Not only that, the password gets displayed on the screen of my local machine as I type it.

Edited to add this paragraph:
Here is an example of what happens:
Code:
local-box$ ./myScript.sh
[sudo] password for fluoborate:

It wants the password for "sudo /etc/init.d/apache2 reload", and it wants the password for the user fluoborate on remote-box. When I type in the password, it appears, it is visible on my screen (the screen of local-box).

Possible solutions:

1. Ideally, I would like to be able to do something like this:
Code:
sudo --password=thisIsThePassword /etc/init.d/apache2 reload

Before you balk at how insecure that is: I would prompt for the password earlier in the script, rather than hard-coding it, so reading the source code will not include the password. Also, nobody else can login to the remote machine, so they cannot see the command line arguments or look at my BASH history.

2. Modify my sudoers file. I don't want to do this, and I haven't been able to figure out how. I am on Ubuntu (10.10 server, iirc). I can make it never prompt for a sudo password, but I cannot make it always prompt except for the one command "sudo /etc/init.d/apache2 reload". If you can provide very explicit instructions to get that working, then please do, I will be forever grateful.

3. Use expect. I simply don't want to do this, it is ugly.

Thank you for the help.

Last edited by fluoborate; 10-25-2011 at 10:49 AM..
# 2  
What I don't understand is when does sudo intervene ?
On local box in order to be root to rsync?
# 3  
More clarification:

This script does not prompt for a password:
Code:
rsync /path/on/local/box/ foo.com:path/on/remote/box/
ssh foo.com ls

...that script will happily perform the rsync and then print the listing of a directory on remote-box. SSH and rsync do not require a password because I have DSA keys installed.

This script does prompt for a password:
Code:
ssh foo.com sudo ls

...when I run that script, it pauses and prints:

[sudo] password for fluoborate:

...and when I type it in, my typing is visible.
# 4  
So I understand here
you connect as fluoborate at foo.com then want to change effective ID (sudo) to root for executing ls
That means you have to look at the sudoers file on foo.com and add a newline or edit existing to look like
Code:
fluoborate ALL=(ALL)               NOPASSWD: /usr/bin/ls

# 5  
I found some literature:
Using rdist rsync with sudo for remote updating - BigAdmin - wikis.sun.com

Hope that will help...

All the best
# 6  
I am trying to do that sudoers magic, but it doesn't work. It either prompts for a password for everything or nothing, but I want it to only not prompt for:

Code:
sudo /etc/init.d/apache2 reload

Exactly what line should I add to sudoers? Does it matter how many spaces I put in the middle of the line? Is there a problem because "/etc/init.d/apache2 reload" contains a space? Maybe I need to type "/etc/init.d/apache2\ reload" in sudoers?

I have tried a bunch of things, I can't make it work. I invite you to try things on your own sudoers file. However, I can't think of another command that requires superuser permissions and has a space in it.

Thanks.
# 7  
Did you try
Code:
"/etc/init.d/apache2 reload"

? (should work...)
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #608
Difficulty: Easy
Python does not need compilation to binary to run.
True or False?

10 More Discussions You Might Find Interesting

1. AIX

Sudo command prompt for a password

in the /etc/sudoer file this line was added: wtolentino ALL=(ORACLE) NOPASSWD: /bin/chmod when i tried to run this command sudo -u oracle /bin/chmod 775 /appshared/applications/lpa/executables/chrpt001.rep it prompts me for a password for example: $ pwd /appshared/applications/lpa... (2 Replies)
Discussion started by: wtolentino
2 Replies

2. UNIX for Dummies Questions & Answers

Sudo ssh with command running in background

I am trying to run a command. This is one of my attempts: for i in fileservera; do ssh -t $i 'sudo ls /';doneThis works, and I see the directories. However, what I want to do now is start a process on the remote server such as /usr/bin/connectproc -standalonesudo /usr/bin/connectproc... (1 Reply)
Discussion started by: newbie2010
1 Replies

3. Solaris

Sudo without password Solaris 11.2

Hi guys, I have the strangest issue... might be a huge oversight.. who knows!! :) I am trying to configure a user to use sudo with no password, here is my sudoers configuration file root@isha:~# egrep -v "^$|^#" /etc/sudoers root ALL=(ALL) ALL %wheel ALL=(ALL) NOPASSWD: ALL... (5 Replies)
Discussion started by: akame
5 Replies

4. Red Hat

Sudo Password Prompt over SSH

I am not sure what I am missing here. I have the following identical entry in /etc/sudoers on multiple Red Hat 6.4 servers. icinga ALL=NOPASSWD:/usr/bin/yum --security --exclude\="kernel*" check-update On one server when I enter the command over SSH as follows it works fine. ssh -t -q... (1 Reply)
Discussion started by: scotbuff
1 Replies

5. UNIX for Dummies Questions & Answers

Unable to use the Sudo command. "0509-130 Symbol resolution failed for sudo because:"

Hi! I'm very new to unix, so please keep that in mind with the level of language used if you choose to help :D Thanks! When attempting to use sudo on and AIX machine with oslevel 5.1.0.0, I get the following error: exec(): 0509-036 Cannot load program sudo because of the following errors:... (1 Reply)
Discussion started by: Chloe123
1 Replies

6. Red Hat

SSH Prompts for Password After Keys Setup Successfully

I setup the keys between 2 servers, but my user account has no password specified for it (never set one up on the account for security reasons). When I try to SSH to the server, SSH prompts for a password that doesn't exist (so I can never connect successfully). Note: 'passwd -d Rynok' removes... (3 Replies)
Discussion started by: Rynok
3 Replies

7. AIX

Sudo ask for password

Hello I have a partition with Aix 5.3 and I install sudo I put the commands that I want to use x user and I put the option that donkask for password. But when I run with this user and I try to run that commands. ask me for a password. I put this line for no ask for password with that... (2 Replies)
Discussion started by: lo-lp-kl
2 Replies

8. Shell Programming and Scripting

sudo command with password

Hello everybody, Say I forgot my root password (shit happens, no?) and I'd like to brutally try 100 possibilities to delete a file using sudo. How can I make a script that tries all the passwords? The following doesn't work. Do you have a clue? foo:~$ cat test sudo rm dummy <<< 'password' echo... (1 Reply)
Discussion started by: chebarbudo
1 Replies

9. UNIX for Advanced & Expert Users

SSH prompts password for non identical users

host1 & host2 : Solaris 10 - SPARC server From host1 able to ssh to host2 as same user with out password prompt. But, when ssh to different user in host2, it prompts for password DETAILS ======= In host1: 1) logged as root 2) ssh-keygen -t dsa -b 1024 (no pass phrase) 3)... (5 Replies)
Discussion started by: vjkatsun
5 Replies

10. Shell Programming and Scripting

verify sudo password

edited and removed (0 Replies)
Discussion started by: mdpalow
0 Replies

Featured Tech Videos