Ssh on ping result?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Ssh on ping result?
# 8  
Old 11-28-2018
Quote:
Originally Posted by MuntyScrunt
...
RudiC, -o ConnectTimeout doesn't appear to be part of this branch of Debian.
What be that branch, actually? And, the ssh version?
# 9  
Old 11-28-2018
At one time we had to check a number of branches. The following code shows the "ping" as run in a "do" loop followed by the "sed" control file. Run sed with the -n option and "p" something appropriate when you find "0 packets".
Code:
ping -c 1 $in >>mylog1 2>&1


/ ping statistics / {
                    N
                   / 0 packets / {
                        s/^....br//
                        s/ .*//
                        p
                      }
                   }


sed -n -f ping.sed mylog1 > mylog2

If mylog2 exists, the blooming thing is down.
# 10  
Old 11-28-2018
That's rather the long way around. Why not just check ping's return value?
# 11  
Old 11-28-2018
Or, if your OS supports it, check the return code from nc -z a.b.c.d 22 to check if ssh is listening.



Robin
# 12  
Old 11-28-2018
Thanks folks. Some of this made it into the script and it works perfectly.

There is one outstanding issue which I can't find a way around. I thought it would be great if the ssh session could open with sudo su, it's not a work network, and also changing directory to where I do most of my work.

After blooming hours of trying all sorts of different things I got the sudo working, but concatenating another command gets ignored.

Obviously I'm opening another shell and any commands still in the original script aren't going to get to the new shell, what I don't understand is I can send a command with ssh, but I can't send two, I just can't see any bash reason why it wouldn't work.

Code:
sh="ssh -t"
command="user@192.168.xxx.xxx"
sud="sudo su"
run="$sh $command $sud"
exec $run

This works great, but it would be even better if after the sudo I could be dumped into a directory that I use a lot. But;
sud="sudo su; cd /usr/folder/folder"
Doesn't work. The sudo runs ok but the cd is ignored.

I'm trying to understand why. As I said I know I'm opening another shell and the script can't communicate with it directly, but if sudo su works why does the cd go missing?

Thanks again everyone, nothing here is work related or that important, but I'm enjoying the learning bit!!
# 13  
Old 11-28-2018
It wouldn't even work locally. Go ahead and try it, see what happens. su will run, and cd will not run inside it - but it will run, after su quits, because that's what semicolon means. Run this command, wait for it to quit, then run that other command.

To feed something into a program, you need to use redirection.

What I do to run scripts remotely is something like:

Code:
ssh username@host exec sudo su <<EOF
echo "Local hostname is $HOSTNAME"
echo "Remote hostname is \$HOSTNAME"
cd /usr/folder/folder
ls
EOF

The final EOF can't be indented, at all.

When in doubt, replace 'ssh' with 'cat' to see exactly what script you're trying to send to the far side!
# 14  
Old 11-28-2018
Quote:
Originally Posted by Corona688
That's rather the long way around. Why not just check ping's return value?
No problem if only one remote site. In our shop we had to check a number of remote sites so we checked all of them then looked at the log to see if there was a problem.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Cant ssh, but ping works

I cant ping to some of my machines, but ping works. I attach screenshots. Port is open and it is 22. I can't figure out why i cant access. https://www.unix.com/attachments/unix-for-advanced-and-expert-users/7492d1541541072-cant-ssh-but-ping-works-sshlisten-jpg... (17 Replies)
Discussion started by: tomislav91
17 Replies

2. AIX

Not able to ssh or ping a server

Hi, Earlier I was able to ssh /ping the server but now it just hangs Please suggest how to troubleshoot. Best regards, Vishal (4 Replies)
Discussion started by: Vishal_dba
4 Replies

3. Shell Programming and Scripting

Ping result talking too long

Hello all, I am writing a script that pings various machines to check connectivity. If a machine is available, the prompt returns a result immediately: root@ops # ping 172.21.5.5 172.21.5.5 is alive BUT if a machine is Down , the reply takes a long time to come. The issue is I want to... (1 Reply)
Discussion started by: Junaid Subhani
1 Replies

4. Shell Programming and Scripting

Perl : code on ping showing difference result

Hi all, I am using the below code to ping a code and print whehter the connection is successful or not. use Net::Ping; $p = Net::Ping->new(); my $host = "x.x.x.x"; # print "$host is alive.\n" if $p->ping($host); if ($p->ping($host,3)) { print... (0 Replies)
Discussion started by: scriptscript
0 Replies

5. Solaris

Ping = no, SSH = eventually. Next step?

I have a Solaris 9 server that does not return a ping. When I try to log in via SSH I eventually get in. I am logged in now. I know this is a wide open question, but can you recommend some things I should check? . Thanks in advance, ~R (2 Replies)
Discussion started by: abstractrick
2 Replies

6. Shell Programming and Scripting

prevent ssh from executing result in shell

Hi, I am writing a script on Solaris 10 and want to execute a remote ssh command. Normally this command should just return the value 0000000000002356 but when using ssh it seems it is passing the result to the shell to execute. ssh root@10.5.112.145 `/usr/bin/nawk -F\, '$1=="USG" && $2=="01"... (3 Replies)
Discussion started by: borderblaster
3 Replies

7. Solaris

could not ssh and ping

Hi, I have a solaris 8 machine. I see ssh is running in the machine sbnismwp2# ps -aef | grep ssh root 947 945 0 04:34:45 ? 0:00 /export/opt/SSHtecagt/sbin/ssh-mgmt-sysmonitor root 945 1 0 04:34:45 ? 0:00 /export/opt/SSHtecagt/sbin/ssh-mgmt-agent... (11 Replies)
Discussion started by: jegaraman
11 Replies

8. Solaris

could not ssh and ping

hi , i cannot ssh to a server , i have restarted the ssh instances also. and i cannot ping to the server.. any ideas ..plz (5 Replies)
Discussion started by: jegaraman
5 Replies

9. Shell Programming and Scripting

Problem storing SSH result in a variable

i have this SSH command which runs perfectly on command prompt in sunOS ssh -o Port=${portno} ${uname}@${server} find ${dir_path} -name '***' output : /usr/local/home/*** My problem is when i run same command in my script #!/usr/bin/ksh res=`ssh -o Port=${portno} ${uname}@${server}... (1 Reply)
Discussion started by: prash184u
1 Replies

10. Linux

Can't SSH / ping Linux box !!!

I have a linux box build11 which can be pinged from build18 (Windows) box. And we can only login to the box (using SSH) from build18 box. Plz help to characterize the problem, network, DNS, DHCP, etc (or whatever which I am unsure) Any idea what may be the reason ? :confused: Thanks in... (4 Replies)
Discussion started by: csaha
4 Replies
Login or Register to Ask a Question