[Saga-devel] saga SVN commit 3347: /trunk/adaptors/ssh/ssh_job/

amerzky at cct.lsu.edu amerzky at cct.lsu.edu
Wed Jan 21 19:30:31 CST 2009


User: amerzky
Date: 2009/01/21 07:30 PM

Modified:
 /trunk/adaptors/ssh/ssh_job/
  ssh_job_service.cpp

Log:
 fix

File Changes:

Directory: /trunk/adaptors/ssh/ssh_job/
=======================================

File [modified]: ssh_job_service.cpp
Delta lines: +24 -2
===================================================================
--- trunk/adaptors/ssh/ssh_job/ssh_job_service.cpp	2009-01-22 00:54:23 UTC (rev 3346)
+++ trunk/adaptors/ssh/ssh_job/ssh_job_service.cpp	2009-01-22 01:30:21 UTC (rev 3347)
@@ -180,8 +180,8 @@
         parent_id_ = ss.str ();
       }
 
-      rem_ssh_key_pub_  = std::string ("/tmp/saga_") + parent_id_ + "_ssh";
-      rem_ssh_key_priv_ = std::string ("/tmp/saga_") + parent_id_ + "_ssh.pub";
+      rem_ssh_key_pub_  = std::string ("/tmp/saga_") + parent_id_ + "_ssh.pub";
+      rem_ssh_key_priv_ = std::string ("/tmp/saga_") + parent_id_ + "_ssh";
 
       env_.push_back (std::string ("SAGA_PARENT_JOBID") + "=" + parent_id_);
       env_.push_back (std::string ("SAGA_SSH_KEY")      + "=" + rem_ssh_key_pub_);
@@ -221,6 +221,28 @@
         }
 
         {
+          SAGA_LOG_ALWAYS (" chmod on private key");
+
+          proc.set_cmd  (ssh_bin_);
+          proc.set_args (ssh_opt_);
+
+          // first copy private key
+          // FIXME: ensure that context is complete
+          proc.add_args ("-i", loc_ssh_key_priv_);
+
+          proc.add_arg (user_ + "@" + host_);
+          proc.add_args ("chmod", "0600" );
+          proc.add_arg  (rem_ssh_key_priv_);
+
+          (void) proc.run_sync ();
+
+          if ( ! proc.done () )
+          {
+            SAGA_ADAPTOR_THROW ("Could not chmod on private key", saga::NoSuccess);
+          }
+        }
+
+        {
           SAGA_LOG_ALWAYS (" copying public key");
 
           // if ok, copy public key



More information about the saga-devel mailing list