From 08c588789bb4663f38cbe53e2055b530d2029b60 Mon Sep 17 00:00:00 2001
From: laking <laking@ispconfig3>
Date: Sun, 03 Apr 2011 23:53:30 -0400
Subject: [PATCH] Implemented passwordless ssh-rsa authentication support.

---
 interface/web/client/client_edit.php |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/interface/web/client/client_edit.php b/interface/web/client/client_edit.php
index 0cee48a..9b57d72 100644
--- a/interface/web/client/client_edit.php
+++ b/interface/web/client/client_edit.php
@@ -149,9 +149,17 @@
 		$active = 1;
 		$language = $app->db->quote($this->dataRecord["language"]);
 		
+		//Generate ssh-rsa-keys
+		exec('ssh-keygen -t rsa -C '.$username.'-rsa-key-'.time().' -f /tmp/id_rsa -N ""');
+		
+		$privatekey = file_get_contents('/tmp/id_rsa');
+		$publickey  = file_get_contents('/tmp/id_rsa.pub');
+		
+		exec('rm -f /tmp/id_rsa /tmp/id_rsa.pub');
+
 		// Create the controlpaneluser for the client
-		$sql = "INSERT INTO sys_user (username,passwort,modules,startmodule,app_theme,typ,active,language,groups,default_group,client_id)
-		VALUES ('$username',md5('$password'),'$modules','$startmodule','$usertheme','$type','$active','$language',$groups,$groupid,".$this->id.")";
+		$sql = "INSERT INTO sys_user (username,passwort,modules,startmodule,app_theme,typ,active,language,groups,default_group,client_id,id_rsa,ssh_rsa)
+		VALUES ('$username',md5('$password'),'$modules','$startmodule','$usertheme','$type','$active','$language',$groups,$groupid,".$this->id.",'$privatekey','$publickey')";
 		$app->db->query($sql);
 		
 		//* If the user who inserted the client is a reseller (not admin), we will have to add this new client group 
@@ -214,6 +222,7 @@
 			$sql = "UPDATE sys_user SET modules = '$modules' WHERE client_id = $client_id";
 			$app->db->query($sql);
 		}
+		
 		/*
 		 *  If there is a client-template, process it */
 		applyClientTemplates($this->id);
@@ -225,4 +234,4 @@
 $page = new page_action;
 $page->onLoad();
 
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1