bash script to execute a command remote servers using ssh
Hello,
I am running into few issues, please suggest me what I am missing.
I am running this script on a linux host.
Main idea of this script is to, login to each host via ssh and get uid of user, service user that I trying to run this script, has already deployed ssh keys and provide sudo access to root with password less on all the server.
issue: /tmp/hostname.txt file contains list of IP addresses line by line, when I execute this script, I get the o/p of the first host successfully and stops executing right from that point.
Code:
# more userid
#!/bin/bash
while read line
do
ssh $line '(echo "`hostname` UID for User v7866 is `getent passwd v7866 | cut -f3 -d:`")' >> /tmp/output
done < /tmp/hostname.txt
#
#more /tmp/hostname.txt
10.10.7.182
10.10.7.173
10.10.7.143
#
ssh tries to read from the same standard input as your while loop, 'eating' your entire datafile.
Also, you don't need to re-open the same logfile 9,000 times to write 9,000 lines.
Also, the braces aren't necessary.
Code:
#!/bin/bash
while read line
do
ssh $line 'echo "`hostname` UID for User v7866 is `getent passwd v7866 | cut -f3 -d:`"' </dev/null
done < /tmp/hostname.txt > /tmp/output
Last edited by Corona688; 04-04-2012 at 11:13 AM..
I was able to run the script as suggested works fine !!!!
Code:
for ip_addr in $(cat hostname.txt); do
ssh ${ip_addr} "bash -s" < script_to_be_invoked
done
The only annoying part is, once the user ssh into the each server, I see banner is being displayed on the terminal, how do we remove that from the output.
The only annoying part is, once the user ssh into the each server, I see banner is being displayed on the terminal, how do we remove that from the output.
Thanks,
Just map the ip addresses of your remote servers' with a unique name one by one and line by line in your /etc/hosts on the master server which can manage all your remote servers
How to execute setDomainEnv.sh in wblogic via ssh on remote server in shell script
we execute setDomainEnv.sh manually as . ./setDomainEnv.sh from its location ie /opt/SP/users/domian/bin"
My approach is not working.
Please advise.
#!/bin/bash
set -x
base="/opt/SP/users/d1/bin"... (5 Replies)
Hello i am having an issue with bash script and this is the code
now=$(cat hosts1.txt | awk '{print $2;}')
while read n ;do
ssh root@$now 'useradd test1; echo -e "test1\ntest1" | passwd test1 && echo "test1 ALL=(ALL:ALL) ALL" >> /etc/sudoers'
When i execute only part with cat, it... (8 Replies)
Hi,
My goal is to connect from unix server A to windows server B and call a bat file on windows.
I am able to succeed in remoting to windows and executing a command, the issue i am facing is the shell scrip is exiting without making sure of bat file success.
Can you please help me in... (4 Replies)
How should i make the following code working
#!/bin/bash
INPUTFILE="test.txt"
while read STRING; do
IP=`host -t A $STRING | awk '{print $NF}'`
HOSTNAME=`ssh -oPasswordAuthentication=no -oStrictHostKeyChecking=no $IP "hostname"`
echo $HOSTNAME > out.txt
done < $INPUTFILE
At this moment while... (3 Replies)
Hi,
The below command is not giving me the count , Can somebody help me in re-writing this pls .
Proc_Exist=`ssh -q -o "BatchMode=yes" -o "PasswordAuthentication=no" $OAUSER@${Primary_Node} ps -ef |
grep -v grep | grep "${ICM_Proc}" |wc -l `
Also the same problem with below... (13 Replies)
Hi,
I need a script that will connect to a list of servers and first sudo to root and then run a couple of commands.
For security reasons, we can't setup ssh keys as root.
Manually I have to login to a server as user and then sudo to root.
It's not possible to use root@servername , because of... (8 Replies)
Help please!!
I want to use ssh to execute a remote exe and while it's running I want to query for the process ID of the exe (2 different ssh commands)
1. sshpass -p "<passwd>" ssh -f -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@<ipaddress> nohup /tmp/mmds_asyn &
2.... (0 Replies)
Hi all,
I am facing the following issue:
Host A should execute a remote command (say pwd) on host B2.
B2 is not directly reacheable but you have to connect from a to B1, then from B1 you can execute the command ssh user@B2 pwd.
B1 and B2 are directly connected:
A => B1 => B2
| ... (3 Replies)
Hi,
I am having nightmare issue-ing remote ssh command from a CGI perl script.
It just won't run on debug message: It says permission denied. Can I even do this? as the apache server running under DAEMON account probably can't execute it? Is this the case of what's going on?
Here is my... (3 Replies)