My computer at IITM is jailed onto the local network due to NAT, Proxy server etc.
Thus, my computer back there has access to internet, but the internet doesn’t have access to it. So, how do I run commands on it remotely? Here’s a simplified crappy version that works to do this.
My system is on almost all the time and connected to the IITM intranet. It keeps downloading my mail from a mail server (that is accessible both from the intranet and the internet) using a cronjob running getmail and passes all received mail to procmail. If your setup uses procmail to filter mail and it is invoked through a cronjob (or by a daemon or something), you could get procmail to execute command lists from your e-mail. In .procmailrc, you’d add something like this:
# —– STARTS HERE —–
^<some test cases to identify if the email is a command list>
| bash # I do something better than this, but the code is dirty.Will post after improvisation.
- —– ENDS HERE —–
Of course, there’s a lot more scope for improvisation, like verifying PGP signature to ensure that the message is really from somebody who’s authorized to control the computer.