Running a Program on a Remote Server Using SSH

How do you run a program on a remote server using ssh?

For this example we'll have two servers, one named Johnny and another named Cash. Both are running openssh. Our goal is to have a program on Johnny login to Cash and run a program on Cash. To make the task a little more complex we'll be using different users on each machine.

The first thing we'll need to do is generate public and private keys on Johnny. So, logged into Johnny as user 'boy' we create public and private keys by creating them in the .ssh directory as follows:


Johnny$> pwd


/home/boy/.ssh


Johnny$> ssh-keygen -t rsa -f sue


Generating public/private rsa key pair.


Enter passphrase (empty for no passphrase):


Enter same passphrase again:


Your identification has been saved in sue.


Your public key has been saved in sue.pub.


The key fingerprint is:


8d:e9:c0:g1:c7:1f:e3:b3:2f:38:12:aa:b5:3b:2e:b3 boy@Johnny


Johnny$>

In the example above we picked an arbitrary name, sue, to identify the files that hold the generated keys. When prompted to enter a passphrase (twice) we simply hit enter twice.

As the output of ssh-keygen indicates, the public key has been saved in a file named sue.pub.

The output of ssh-keygen implies, but doesn't indicate directly, that the private key is in a file named sue (Yes, a user named boy created a file named sue.)


Johnny$>ls -l


-rwx------ 1 sue suegrp 887 Oct 17 14:27 sue


-rwx------ 1 sue suegrp 223 Oct 17 14:27 sue.pub

The private key file, sue, will remain on Johnny for the reaminder of this exercise, but the public key must be moved to the remote server, Cash. Note that the .ssh directory itself, as well as the sue and sue.pub files should have permissions of 700.

Now you'll need to ftp the sue.pub file from Johnny to Cash. The user on Cash that we'll login as is user 'named'.


Johnny$> ftp Cash


Connected to Cash


220 Cash - Propery of Xyz. - Authorized users only


Name (Cash:boy): named


331 Password required for named.


Password:


230-Last unsuccessful login: Fri Oct 17 13:12:55 2003 on ftp from Johnny 230-Last login: Fri Oct 17 16:02:11 2003 on /dev/pts/1 from Johnny


230 User named logged in.


ftp> cd .ssh


ftp> mput sue.pub


mput sue.pub? y


200 PORT command successful.


150 Opening data connection for sue.pub.


226 Transfer complete.


224 bytes sent in 0.000781 seconds (280.1 Kbytes/s)


local: sue.pub remote: sue.pub


ftp>bye


221 Goodbye.


Johnny$>

Now we'll telnet into Cash and concatenate the sue.pub file into /home/named/.ssh/authorized_keys file.


Cash$> pwd


/home/named/.ssh


Cash$> cat sue.pub >> authorized_keys


Cash$> exit


Connection closed.


Johnny$>

Let's recap what we've done so far.

1) We've created public and private keys on Johnny.

2) We've ftp'd the public key file, sue.pub, from Johnny to Cash.

3) We've telnetted to Cash, and concatenated the contents of sue.pub into authorized_keys

We're now ready to manually login from Johnny to Cash using ssh.


Johnny$> ssh -i /home/boy/.ssh/sue named@Cash


The authenticity of host 'Cash (xxx.yyy.zzz.aaa)' can't be established.


RSA key fingerprint is 65:11:7d:ef:ed:a3:cc:34:d1:b5:ba:c9:16:22:31:23.


Are you sure you want to continue connecting (yes/no)? yes


================================================================


*** NOTICE TO ALL USERS ***


================================================================


Cash$>exit< /p>


Connection to Cash closed.


Johnny$>

Now on Johnny, create a shell script called 'boynamedsue.sh' with the following one line of contents and chmod the script to 777.

ssh -i /home/boy/.ssh/sue named@Cash /usr/bin/ls -l

Next, execute the script on Johnny.


Johnny$> boynamedsue.sh


================================================================


*** NOTICE TO ALL USERS ***


================================================================


-rwxrwxr-x 1 named namedgrp 10020 Oct 17 14:35 namedfile1.txt


-rw-r--r-- 1 named namedgrp 680 Aug 14 16:18 namedfile.html


-rw------- 1 named namedgrp 1148 Aug 18 09:51 mbox


drwxr-xr-x 2 named namedgrp 512 Jun 17 13:38 old


Johnny$>

You just executed a program on Johnny, that logged into Cash and ran a program (unix 'ls -l').

The next step you'll want to take is to replace the '/usr/bin/ls -l' command in the boynamedsue.sh program with the path and name of the program that you want to run.

About The Author

C.S. Deam is a small business owner. His eBook Computer Nuggets: Non-Techie Internet Tips For In-Laws, Out-Laws, and the Rest of Society is a great gift for non-techie family members and is available at www.linkertonpublishing.com where you can sign up for FREE E-Courses & Newsletters to help you on your path to self-employment.

efficient cleaning crew Northbrook ..
In The News:

Chinese hackers used Anthropic's Claude AI to launch autonomous cyberattacks on 30 organizations worldwide, marking a major shift in cybersecurity threats.
Apple's new Sleep Score feature gives you a rating for your nightly rest quality. Learn how to set it up on your Apple Watch and iPhone today.
Essential phone settings to enable before losing your device, including Find My network, location services and security features for iPhone and Android.
The Fox News AI Newsletter gives readers the latest AI technology advancements, covering the challenges and opportunities AI presents.
Cybersecurity research shows weak passwords remain a major threat, with simple patterns and number sequences putting millions of accounts at risk.
New Android malware BankBot YNRK silences phones, steals banking data and drains crypto wallets automatically. Learn how this advanced threat works.
FDA approves first human trial for Paradromics' brain-computer interface that could restore speech for paralyzed patients through neural technology.
New phishing platform QRR targets Microsoft 365 users across 1,000 domains in 90 countries. Learn how to spot fake login pages and protect your accounts.
OpenTable now uses AI to track your dining habits and share insights with restaurants. Learn what data they collect and how to protect your privacy.
Google's discontinued Nest thermostats still secretly upload home data to company servers despite losing smart features, raising serious privacy concerns.
New Android malware NGate steals NFC payment codes in real-time, allowing criminals to withdraw cash from ATMs without your card. Learn protection tips.
DoorDash confirms data breach exposing customer names, emails, addresses after social engineering attack. Learn how to protect yourself from scams.
Concerned about Google's AI scanning your Gmail? Learn how to disable Gemini features that access your emails, Drive files and Chat messages for privacy.
Google warns Android users about dangerous fake VPN apps hiding malware that steals passwords, banking details and personal data from phones and tablets.
Apple's digital passport feature lets iPhone users breeze through TSA checkpoints this holiday season using Digital ID technology at 250+ airports.
A new phishing scam targets family photos with fake "Cloud Storage Full" alerts. Criminals steal credit card information through fake sites. Learn protection tips.
South Korean scientists create ultra-thin fabric muscles that turn clothes into robotic assistants, lifting 33 pounds while weighing under half an ounce.
Archer Aviation has acquired Hawthorne Airport for $126M to launch an LA air taxi network ahead of the 2028 Olympics, featuring AI-powered eVTOL operations and next-gen aviation tech.
Stay up to date on the latest AI technology advancements and learn about the challenges and opportunities AI presents now and for the future.
Fake AI apps disguised as "ChatGPT" and "DALLĀ·E" are flooding app stores with dangerous malware that steals data and monitors users without detection.
Fake buyers demand specific vehicle reports from unknown sites to steal credit card information from car sellers, but warning signs can help identify these scams before paying.
Android users can now manage apps across multiple devices more easily with Google Play Store's updated remote uninstall button in the latest update.
NASA's Perseverance rover discovers shiny metallic rock on Mars that could be a meteorite from an ancient asteroid, containing high levels of iron and nickel.
Holiday scams spike during Black Friday and Cyber Monday as criminals exploit your leaked personal data. Learn how to protect yourself from fake stores and phishing.
Commerce Department proposes TP-Link router ban over Chinese security risks. Learn how this potential prohibition could affect your home network and devices.

Understanding Document Management

The term "document management" and "paperless office" is the subject... Read More

Internet Security Threats: Who Can Read Your Email?

Before being able to choose a secure Internet communication system,... Read More

Microsoft Axapta, Navision or Great Plains: ERP Selection for Large Corporation

If you would like to pick something from Microsoft, or... Read More

Software Development in 2005 - Back to the Future

2005 ? Back to the Future.What does the future hold?... Read More

Database Guru James F. Koopmann Reviews DBxtra Reporting and Query Tool

DBxtra is a powerful query and reporting tool that hides... Read More

Microsoft Great Plains version 8.5: Upgrade, Customization, VBA, Crystal Reports - Highlights

Microsoft Great Plains is one of the Microsoft Business Solutions... Read More

Microsoft CRM Implementation - US Market Lessons

Microsoft CRM is CRM answer from Microsoft Business Solutions. If... Read More

Great Plains Dexterity Customization Options ? Overview For Developers

Looks like Microsoft Great Plains becomes more and more popular,... Read More

Microsoft Great Plains Beverage Production & Distribution ? Implementation & Customization Highlight

Microsoft Business Solutions Great Plains has many years of successful... Read More

Microsoft CRM Integration & Customization: SharePoint Document Gateway

MS CRM is very close to document workflow automation, including... Read More

Microsoft Great Plains Implementation for Midsize & Large Corporation: Lockbox Processing

Microsoft Great Plains is now targeting large and midsize businesses... Read More

Microsoft Great Plains Multicurrency ? Overview For Implementation Consultant

When you first think about multicurrency ? you probably have... Read More

An Easy Way to Deal with Email Viruses and Worms

If you feel intimidated when someone tries to teach you... Read More

Your Computer May Be Infected, Heres How To Check (NOT about virus)

NOTE: Please take time to read on - it may... Read More

Pros and Cons of Using FREE Software in Your Business

It???s easy to understand why you might be drawn to... Read More

Microsoft Business Solutions VAR/Partner Selection ? Overview for IT Director/Manager/Controller

Microsoft Great Plains and Microsoft CRM become more and more... Read More

Best Practices In Choosing Network Monitoring Software

Blue Cross and Blue Shield of Hawaii (HMSA) found itself... Read More

Ukraine: a Prospective Player on the World Software Outsourcing Market

The destruction of the Soviet Union about 15 years ago,... Read More

Microsoft CRM Implementation ? Fundamental CRM Principles Revision

Microsoft CRM is relatively new player on the now becoming... Read More

How to Tell You Have Spyware, Ad-ware or Viruses

Usually, the easiest way to tell you have spyware is... Read More

Microsoft Great Plains Accounting/ERP Implementation ? Finance Industry Customization Example

Microsoft Business Solutions Great Plains is very generic accounting application... Read More

15 Questions to Ask Your Software Vendor

When making a decision to buy any piece of software... Read More

Rapid Application Development - Is it Really a Need of Today?

Rapid Application Development (RAD) is a software development methodology. In... Read More

Who Is Minding Your Sensitive Data?

Stealing company information used to be the specialty of spies... Read More

How to Get The Best Accounting Software For Your Small Business

Buying accounting software is a major investment. It's an important... Read More

cleaning lady near Wilmette ..