SSH lets you remotely access your computer, or other computers, using a command-line interface. Installing SSH really is a breeze:
It was so quick and easy I even had to check it had actually been done!
The binary did exist and I was able to log into the machine without any problems. Almost too simple! You'll probably want to increase the security of your setup a bit by using hosts.allow and hosts.deny files. These live in /etc and consist of rules that determine which hosts should be allowed to connect to certain services on your machine. My hosts.deny has the following:
and my hosts.allow has this:
This results in all connections from all IP addresses being denied, except for SSH from one specific machine on the local network. Note that the hosts.* files will only work on services started as daemons, not standalone, and these services must support TCP Wrappers (which are what make hosts.* work). This page, and another, revealed the following command to determine whether a particular daemon has support for TCP Wrappers; it basically checks whether the daemon depends on the relevant library, libwrap.so.0:
Running the above command doesn't give any result, so smbd – the Samba server daemon – isn't affected by hosts.* (see my other post for rudimentary details on securing Samba). There are plenty of pages which delve into more detail about more complex rules for hosts.*, or you could just:
Subversion (SVN) was no more difficult:
The first chance I got to test SVN as a client was when installing WordPress, which is covered in a different post. To test the server side of things, I just created a repository:
Everything went swimmingly, so further setup will take place at a later date. There are a number of good guides online that will take you further with Subversion, which is beyond the scope of this post.