### Godot version

v4.0.beta.custom_build [d1e5903c6]

### System information

Arch Linux kernel 6.1.7-arch1-1 x86_64 OpenSSH 9.1p1-3

### Issue description

When using SSH remote deploy, if the extra args field is empty (the default) the ssh command is not executed with success because a single space is inserted in place of the extra args.

```
Creating temporary directory...
Executing: ssh -p 22  davi@192.168.1.50 mktemp -d
Exit code: 255, Output: ssh: Could not resolve hostname : Name or service not known

ssh: Could not resolve hostname : Name or service not known
```

If any valid argument is passed, the command is executed successfully, in the example below I duplicated the `-p 22`, which is ignored, to show that it is not a problem of the hostname passed.

```
Executing: ssh -p 22 -p 22 davi@192.168.1.50 mktemp -d
Exit code: 0, Output: /tmp/tmp.DwFObXBL2s
```

This is infuriating for when you have non-interactive authentication configured in ssh-agent and just the hostname is needed for the connection.
This occurs for both SSH and SCP.

### Steps to reproduce

1. Enable a project to deploy with ssh
2. Fill only the hostname
3. Try to deploy
4. See the error on the console

### Minimal reproduction project

N/A
String tmp_base_path_name;
	String tmp_app_path_name;
	String scr_path;
	if (export_format == "app") {
		tmp_base_path_name = p_path.get_base_dir();
		tmp_app_path_name = p_path;
		scr_path = p_path.get_basename() + ".command";
	} else {
		tmp_base_path_name = EditorPaths::get_singleton()->get_cache_dir().path_join(pkg_name);
		tmp_app_path_name = tmp_base_path_name.path_join(tmp_app_dir_name);
		scr_path = tmp_base_path_name.path_join(pkg_name + ".command");
	}
	bose("Exporting to " + tmp_app_path_name);
	Error err = OK;
	Ref<DirAccess> tmp_app_dir = DirAccess::create_for_path(tmp_base_path_name);
	if (tmp_app_dir.is_null()) {
		add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory: \"%s\"."), tmp_base_path_name));
		err = ERR_CANT_CREATE;
	}
	if (FileAccess::exists(scr_path)) {
		DirAccess::remove_file_or_error(scr_path);
	}
	if (DirAccess::exists(tmp_app_path_name)) {
		String old_dir = tmp_app_dir->get_current_dir();
		if (tmp_app_dir->change_dir(tmp_app_path_name) == OK) {
			tmp_app_dir->erase_contents_recursive();
			tmp_app_dir->change_dir(old_dir);
		}
	}
	Array helpers = p_preset->get("codesign/entitlements/app_sandbox/helper_executables");