### 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
}
	String config_file = "project.binary";
	String engine_cfb = EditorPaths::get_singleton()->get_cache_dir().path_join("tmp" + config_file);
	ProjectSettings::get_singleton()->save_custom(engine_cfb, custom_map, custom_list);
	Vector<uint8_t> data = FileAccess::get_file_as_bytes(engine_cfb);
	DirAccess::remove_file_or_error(engine_cfb);
	return p_func(p_udata, "res://" + config_file, data, idx, total, enc_in_filters, enc_ex_filters, key);
}
Error EditorExportPlatform::_add_shared_object(void *p_userdata, const SharedObject &p_so) {
	PackData *pack_data = (PackData *)p_userdata;
	if (pack_data->so_files) {
		pack_data->so_files->push_back(p_so);
	}
	return OK;
}
void EditorExportPlatform::zip_folder_recursive(zipFile &p_zip, const String &p_root_path, const String &p_folder, const String &p_pkg_name) {
	String dir = p_folder.is_empty() ? p_root_path : p_root_path.path_join(p_folder);
	Ref<DirAccess> da = DirAccess::open(dir);
	da->list_dir_begin();
	String f = da->get_next();
	while (!f.is_empty()) {
		if (f == "." || f == "..") {
			f = da->get_next();
			continue;
		}
		if (da->is_link(f)) {
			OS::DateTime dt = OS::get_singleton()->get_datetime();
			zip_fileinfo zipfi;
			zipfi.tmz_date.tm_year = dt.year;
			zipfi.tmz_date.tm_mon = dt.month - 1;