Many of you know how to do password-less login with SSH.

Below is my approach.

person@NOVELLDESK:~> ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/person/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/person/.ssh/id_dsa.
Your public key has been saved in /home/person/.ssh/id_dsa.pub.
The key fingerprint is:
1e:05:de:d8:6a:10:3e:39:c2:ee:85:58:ec:56:1d:e9 person@NOVELLDESK
person@NOVELLDESK:~> ssh-copy-id -i ~/.ssh/id_dsa.pub root@CREATIVEDESK
Password:
Now try logging into the machine, with "ssh 'root@CREATIVEDESK'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

person@NOVELLDESK:~> ssh root@CREATIVEDESK
Last login: Fri Apr 11 12:52:31 2008 from 164.XXX.XXX.88
CREATIVEDESK:~ #
Note: Where CREATIVEDESK is your desire host, whose IP can be resolved by your default DNS Server or for ease of easyness you can maintain it in /etc/hosts file

Now the magic will start from here.

For example, one often needs to log in to servers CREATIVEDESK, RED, GREEN, BLUE.

Step – 1:

Create a simple shell script in BASH, and save it as ‘ssh-to-server’ in ‘/usr/local/bin’. ‘sudo’ is your friend.

#! /bin/bash

#Note: I am assuming that you have to login as root to
#every server" >

ssh root@`basename $0` $*

Step – 2:

Create Symbolic link of ‘ssh-to-server’ with the name of the server (Whose IP can be resolved)

person@NOVELLDESK:~>sudo cd /usr/local/bin
person@NOVELLDESK:~>sudo ln -s ssh-to-server CREATIVEDESK
person@NOVELLDESK:~>sudo ln -s ssh-to-server RED
person@NOVELLDESK:~>sudo ln -s ssh-to-server GREEN
person@NOVELLDESK:~>sudo ln -s ssh-to-server BLUE

Step – 3:

Now time to execute the magic…

Magic – 1

person@NOVELLDESK:~> CREATIVEDESK uptime
  2:15pm  up 31 days  0:35,  5 users,  load average: 0.00, 0.00, 0.00

person@NOVELLDESK:~> RED uptime
 2:15pm  up 101 days  0:35,  3 users,  load average: 0.00, 0.00, 0.00

person@NOVELLDESK:~> GREEN uptime
 2:15pm  up 252 days  0:35,  1 users,  load average: 0.00, 0.00, 0.00

Magic – 2

person@NOVELLDESK:~> CREATIVEDESK ls -l /usr/bin
total 82950
-rwxr-xr-x  1 root root       8929 Jun 19  2006 3Ddiag
-rwxr-xr-x  1 root root       1314 Jun 19  2006 3Ddiag-result
-rwxr-xr-x  1 root root       1828 Jun 19  2006 3Ddiag.devel
...

Magic – 3
Transferring Single file:

person@NOVELLDESK:~>cat foo | CREATIVEDESK cat > foo

Transferring Multiple files with archive in desire remote location.

person@NOVELLDESK:~>tar -c -f - bar | CREATIVEDESK "cd /tmp; tar -x -f -"

Conclusion:

Now, one can simply ssh to server by giving only server name (whose IP can be resolved), and get it’s result. This will eliminate “AnyUserName@IP/ServerName” syntax login to server and then execute the command and Blah…Blah…

Don’t comment me on that SSH Alias tips and Tricks,
Believe in Art Of Administration!

That’s it for now…

(Visited 1 times, 1 visits today)
Tags: ,
Category: Enterprise Linux, Technical Solutions
This entry was posted Friday, 11 April, 2008 at 3:02 am
You can follow any responses to this entry via RSS.

Leave a Reply

Your email address will not be published. Required fields are marked *

No comments yet