Presently my server is on an internal network and only used by me, however, I wish to create a new subversion repository and allow external people to access it. They should be restricted to svn access and not allowed to do anything else. They will access it by svn+ssh protocol.
The steps I believe I should take are below, but what other steps should I take?
- Add new users
- Create a public/private key for each user
- Add users to a group 'ext_svn' or similar
- Create repository and set r/w permissions for 'ext_svn' members
- Install SSH, redirect my router port to my server, disable root login and disable password login
Presumably they will still be able to SSH in and then download files from the internet, open ports, install backdoors, read server config files ... etc
Note that I'm focusing here on authorised users, I've already read this question about preventing unauthorised access
svn
. Note, the public/private key pairs are to be created in each of the other computers used by the other users. They will share their public keys with your ssh server, and keep their private key private in their computers. – user68186 Apr 05 '17 at 17:14