### 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 deploy target has a pre-login message like Arch [/etc/issue](https://man.archlinux.org/man/issue.5) the SSH output is treated as only the first line and the output becomes the pre-login message like in the example below "Welcome to Arch Linux"

```
Creating temporary directory...
Executing: ssh -p 22 -p 22 davi@192.168.1.50 mktemp -d
Exit code: 0, Output: Welcome to Arch Linux
/tmp/tmp.BOugkHj1WF
```
Then, the SCP command is not executed as intended
```
Uploading archive...
Executing: scp -P 22 -P 22 /home/davi/.cache/godot/linuxbsd/tmp_linuxbsd_export.zip davi@192.168.1.50:Welcome to Arch Linux
Uploading scripts...
Executing: scp -P 22 -P 22 /home/davi/.cache/godot/linuxbsd/tmp_linuxbsd_export_start.sh davi@192.168.1.50:Welcome to Arch Linux
Executing: ssh -p 22 -p 22 davi@192.168.1.50 chmod +x "Welcome to Arch Linux/tmp_linuxbsd_export_start.sh"
Exit code: 1, Output: Welcome to Arch Linux
chmod: cannot access 'Welcome': No such file or directory
chmod: cannot access 'to': No such file or directory
chmod: cannot access 'Arch': No such file or directory
chmod: cannot access 'Linux/tmp_linuxbsd_export_start.sh': No such file or directory

Welcome to Arch Linux
chmod: cannot access 'Welcome': No such file or directory
chmod: cannot access 'to': No such file or directory
chmod: cannot access 'Arch': No such file or directory
chmod: cannot access 'Linux/tmp_linuxbsd_export_start.sh': No such file or directory
```

If not fixed that should be at least a documentation note (when it is written) for the user to disable pre-login messages if possible.

### Steps to reproduce

1. Enable a project to deploy with ssh
2. Set a host with pre-login message
3. Try to deploy
4. See the error on the console


### Minimal reproduction project

N/A
}
		idx++;
	}
	if (convert_text_to_binary || !customize_resources_plugins.is_empty() || !customize_scenes_plugins.is_empty()) {
		
		String fcache = export_base_path.path_join("file_cache");
		Ref<FileAccess> f = FileAccess::open(fcache, FileAccess::WRITE);
		if (f.is_valid()) {
			for (const KeyValue<String, FileExportCache> &E : export_cache) {
				if (E.value.used) { 
					String l = E.key + "::" + E.value.source_md5 + "::" + itos(E.value.source_modified_time) + "::" + E.value.saved_path;
					f->store_line(l);
				}
			}
		} else {
			ERR_PRINT("Error opening export file cache: " + fcache);
		}
		for (Ref<EditorExportPlugin> &plugin : customize_resources_plugins) {
			plugin->_end_customize_resources();
		}
		for (Ref<EditorExportPlugin> &plugin : customize_scenes_plugins) {
			plugin->_end_customize_scenes();
		}
	}
	
	Vector<String> custom_list;
	if (!p_preset->get_custom_features().is_empty()) {
		Vector<String> tmp_custom_list = p_preset->get_custom_features().split(",");
		for (int i = 0; i < tmp_custom_list.size(); i++) {
			String f = tmp_custom_list[i].strip_edges();