SSH persistent and automatic login script for proxy

#!/bin/bash

sshcommand="ssh -N -R 20000:localhost:22 user@8.8.8.8"
result=`ps aux|grep $sshcommand"|grep -v grep`

if [ -z "$result" ]; then
   echo "we are going to connect"
   $sshcommand
else
  echo "we are already connected"
fi

This is a handy script you can use and then add it to cron.

Save it as proxy.sh and add this to your cron (this will check every minute and start the SSH proxy if it is not running):

crontab -e

*1/ * * * * /home/user/proxy.sh


Server Side

What happens is that the connection breaks for some reason.  Now your client will reconnect but it won't be able to listen on the port possibly because the server side still has the stale SSH process listening on your proxy port.

We need a script to check that the proxy port is open and SSH is accessible.  If the port is open but we don't get served SSH then we will find the process for the port and kill it so a new, working connection can be made.

Put this into a cron as "checkproxy.sh":

#!/bin/bash

proxyport=20000
checkstatus=`nc -w 3 localhost $proxyport|grep -i openssh`

if [[ $checkstatus == *OpenSSH* ]]; then
  echo "OK proxy is up and working"
else
  # find the related sshd process
  pid=`netstat -anptu|grep $proxyport|grep sshd|awk {'print $7'}|cut -d "/" -f 1`
  echo "it is not working let's kill the process so the client can reconnect"
  kill $pid
fi

 


Tags:

ssh, persistent, login, proxy, bin, bash, sshcommand, quot, localhost, user, ps, aux, grep, z, echo, fi, cron, sh, crontab,

Latest Articles

  • How to allow SSH root user access in Linux/Debian/Mint/RHEL/Ubuntu/CentOS
  • Ansible Tutorial - Playbook How To Install From Scratch and Deploy LAMP + Wordpress on Remote Server
  • Ceph Install Errors on Proxmox / How To Fix Solution
  • Proxmox Update Error https://enterprise.proxmox.com/debian/pve bullseye InRelease 401 Unauthorized [IP: 144.217.225.162 443]
  • QEMU/KVM How to Hot-add A Virtual Disk .raw/.qcow2 via QEMU Monitor Commands
  • Proxmox How To Enable Ceph Distributed Storage Cluster with OSD and Pools
  • pulseaudio issue on QEMU/KVM guest VM when microphone is replugged/unplugged pulseaudio: pa_threaded_mainloop_lock failed pulseaudio: Reason: Invalid argument
  • Ubuntu Linux Mint - Volume Control Stopped Working
  • Proxmox Services Won't Start Failed to start The Proxmox VE cluster filesystem. Proxmox VE firewall. PVE Status Daemon. Proxmox VE scheduler. PVE Cluster HA Resource Manager Daemon. PVE Local HA Resource Manager Daemon.
  • Proxmox Guide FAQ / Errors / Howto
  • Virtualbox Vbox Issue Cannot Enable Nested Virtualization Button is Grayed/Greyed Out and Unclickable HowTo Solution
  • Virtualbox VBOX Howto Port Forward To Guests
  • Linux Ubuntu Debian Centos Mint - How To Check if Intel VT-x or AMD-V Hardware Virtualization is Enabled?
  • Linux Howto Zip Multiple Files and Directories
  • Windows Cannot Format USB drive Device Media is Write Protected Error Solution
  • Linux Mint 20 cannot install snapd missing solution
  • Virtualbox VBOX How To Install Guest-Utils/GuestUtils so drag and drop and clipboard works Ubuntu Mint Debian Linux
  • How to install Kubernetes with microk8s and deploy apps on Debian/Mint/Ubuntu Linux
  • vi how to delete everything to the end of the line or the rest of the line from the cursor
  • Cisco Howto Configure Console Port/Terminal/Comm Server with Async Cable Setup