Index: wp-admin/includes/file.php
===================================================================
--- wp-admin/includes/file.php	(revision 11535)
+++ wp-admin/includes/file.php	(working copy)
@@ -682,7 +682,10 @@
 	else if ( !isset($credentials['connection_type']) || (isset($_POST['connection_type']) && 'ftp' == $_POST['connection_type']) )
 		$credentials['connection_type'] = 'ftp';
 
-	if ( ! $error && !empty($credentials['password']) && !empty($credentials['username']) && !empty($credentials['hostname']) ) {
+	if ( ! $error &&
+	     ( $credentials['connection_type'] == 'ssh' || !empty($credentials['password'])  )&&
+	     !empty($credentials['username']) &&
+	     !empty($credentials['hostname']) ) {
 		$stored_credentials = $credentials;
 		if ( !empty($stored_credentials['port']) ) //save port as part of hostname to simplify above code.
 			$stored_credentials['hostname'] .= ':' . $stored_credentials['port'];
