SSH

From HCL
Revision as of 22:46, 25 June 2010 by Kiril (talk | contribs) (Automate the inclusion of hostname to "known_host")

Jump to: navigation, search

Passwordless SSH

To set up passwordless SSH, there are three main things to do:

  • generate a pair of public/private keys on your local computer
  • copy the public key from the source computer to the target computer's authorized_keys file
  • check the permissions.

You can repeat that transitively for "A->B->C". You can use the initial pair of keys everywhere.

See here for details:

http://www.stearns.org/doc/ssh-techniques.current.html

Automatically saying "yes"

This expect script says "yes" when asked if

#!/usr/bin/expect -f
set arg1 [lindex $argv 0]
spawn ssh  $arg1
expect "yes"
send "yes\r"
send "exit\r"
expect eof

You can include it in a bash script to iterate over all nodes doing this:

cat yes-everywhere.sh
for i in `cat hostfile` ; do
./say-yes.exp $i
done

~ ~

Making a cascade of SSH connections easy

Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine "heterogeneous", but you can log into "csserver" and then to "heterogeneous", you can put this into your .ssh/config file :

Host csserver
  User kdichev
  Hostname csserver.ucd.ie
Host heterogeneous
  User kiril
  Hostname heterogeneous.ucd.ie
  ProxyCommand ssh -qax csserver nc %h %p


Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do

ssh heterogeneous

instead and use "qsub"

X11 forwarding

ssh -X hostname