The bits of an ssh config a deployment needs, so a server can be declared as an ALIAS rather than as a host, a port, a user and a key path committed with the project.
class MMO\admin\helpers\SshConfig
Namespace
MMO\admin\helpers
The file is the project's own: [`FILENAME`](https://mcp.mmoframework.fr/documentation/mmo.admin/php/helpers/SshConfig.md#sshconfig-filename), beside `deploy.json`, git-ignored and mode 0600 -- NOT the
user's `~/.ssh/config`. Everything a project needs to deploy lives in the project folder; what cannot be
shared is kept out of git there, not somewhere else on the machine. It is an ordinary ssh config, so
`ssh -F deploy.ssh.config web1` reaches the server exactly as a deployment does.
That indirection is the point. `"sshAlias": "ovh1"` in `deploy.json` is public information -- it says
nothing about how you get in, only which entry of this machine's file to use. Two developers can reach the
same target through different keys, ports or users without the committed declaration knowing, and there is
no credential anywhere in the repository to leak.
Deliberately a small subset: `Host`, `HostName`, `Port`, `User`, `IdentityFile`. `Include`, `Match`, and
proxy/jump directives are NOT interpreted -- a target needing those should be reached through a plain
`iShell` configured by hand ([`Server::$shell`](https://mcp.mmoframework.fr/documentation/mmo.admin/php/entities/Server.md#server-shell)) rather than half-understood here.