For ~/.ssh/config
you can place relevant system-wide settings in /etc/ssh/ssh_config according to the man page:
ssh(1) obtains configuration data from the following sources in the following order:
- command-line options
- user's configuration file (~/.ssh/config)
- system-wide configuration file (/etc/ssh/ssh_config)
For each parameter, the first obtained value will be used. The configuration files contain sections separated by “Host” specifications, and that section is only applied for hosts that match one of the patterns given in the specification.
Note that only the first value will be used, which means that the user can always override the system-wide configuration options locally.
For ~/.ssh/known_hosts
you can use /etc/ssh/ssh_known_hosts
or another file specified by the GlobalKnownHostsFile configuration option:
GlobalKnownHostsFile
Specifies a file to use for the global host key database instead of /etc/ssh/ssh_known_hosts.
I'm unsure if it is possible for the other files, but I imagine you could work something out with symlinks if you really wanted to share private keys among users as well.