It is possible to do SSH by running a shebang script from Mac or Linux Localhost, Update the Server where the SSH process is Private Key based. This is a requested guide for bash scripting, take it as for Educational purpose. We honestly, do not think it is a safer method to update production server in this way! Yes, this will work HP Cloud and it is really funny to watch the update is gaining on, as if a ghost is typing the commands.
Bash Script to SSH and Update Ubuntu Server (HP Cloud)
When you’ll run the script, it will ask for the .pem
file’s path, then the IP address. You have nothing to do afterwards. It will complete the process and exit the remote server’s bash and give an output with timestamp. This is very basic shebang script but yet, it has many things.
Bash Script to SSH and Update Ubuntu Server : HP Cloud and Amazon Only
This is basically not possible to run other setup like that of Rackspace or DigitalOcean. Basically, we login as ubuntu
in HP Cloud and Amazon, that ubuntu
belong to sudoer group. Just see the script first :
---
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/bin/bash # # Author : Dr. Abhishek Ghosh # GNU GPL 3.0 # https://thecustomizewindows.com # echo “You Are Going To SSH and Update Your Server” echo “Supply the path of .pem key:” read key echo “Supply the IP address below:” read ip echo ” “ ssh –t –t –i $key ubuntu@$ip <<‘ENDSSH’ free –m | grep “Mem:” | awk ‘{ print “Total memory (used+free): ” $3 ” + ” $4 ” = ” $2 }’ clear sudo su && sudo apt–get update –y && sudo apt–get upgrade –y echo ” “ exit exit ENDSSH finish= date "+%Y-%m-%d-%H-%M-%S"echo “Update and Upgrade of $ip completed at ${finish}” |
There is no if not then
logic – it is a simple, 100% mechanical script. Basically, when login via SSH, we allow a time to type and run the command, but; in this way, there is no comma, full stop in running the commands! Actually after becoming root
, the exit
command runs, it again become ubuntu
and run the command :
1 | sudo su && sudo apt–get update –y && sudo apt–get upgrade –y |
So, the output in that place becomes like :
1 2 3 4 5 6 7 8 9 10 11 | root at abhishekghosh in /home/ubuntu $ echo ” “ root at abhishekghosh in /home/ubuntu $ exit exit Get:1 http://security.ubuntu.com trusty–security Release.gpg [933 B] Hit http://ppa.launchpad.net trusty Release.gpg Ign http://stable.packages.cloudmonitoring.rackspace.com cloudmonitoring/main Translation–en Ign http://az3.clouds.archive.ubuntu.com trusty–updates InRelease Hit http://az3.clouds.archive.ubuntu.com trusty Release.gpg |
That echo " "
is helping to run the command, else, it will exit, because, as I said – “there is no comma, full stop in running the commands”. Here is the gist on github and practically you can run these commands :
1 2 3 4 | # raw file at # https://gist.githubusercontent.com/AbhishekGhosh/af0307dbfd87a76f5914/raw/d0f1569ea7d672e8568bedc5ee39b0fd9808de6d/ssh_update_ubuntu_server.sh chmod +x ssh_update_ubuntu_server.sh sh ssh_update_ubuntu_server.sh |
It is better to run the script, where the .pem
file is located, you’ll need only to type the name of the file (with extension), else you have to type the full path.
Executable Scripts are quite dangerous! You, basically can not run the commands in that sequence with a keyboard to do the work.
Tagged With bash ssh script , how to write a bash script in ubuntu to ssh into , openssh bash updates , script ssh ubunto , shh in a script , ssh update script apt , Windows Bash ubuntu SSH