How to get Technical Support

Preparation

Some quick rules of the road:

Ensure the system you want me to access has ssh installed (apt-get install openssh-server or yum install ssh or a variation of the above commands -- check your distributions instructions). Your /etc/ssh/sshd_config file should have the following lines:

PermitRootLogin yes  (see below if this is no and you don't want to change it)
PubkeyAuthentication yes
PasswordAuthentication no  (optional, but a _very_ good idea)

Restart (or start) ssh for changes to take effect. Then ensure the system can be reached on port 22 (or your alternate ssh port) from outside your network. And if using an alternate port, please ensure I know what it is.

Login as the user I will access your system as (normally root), download my public key and include it in $USER/.ssh/authorized_keys:

cd
mkdir .ssh
chmod 700 .ssh
wget http://david.bandel.us/id_dsa.pub -O authkey-david.pub
cat authkey-david.pub >> .ssh/authorized_keys

If you do not permit direct root access, the user I will login as (referred to as $USER below) will need to have sudo privileges with no password required:

apt-get install sudo (yum install sudo, etc, depending on your distro)

use visudo to edit the sudoers file to allow access to a group of users (normally one of wheel, sudo, or admin) without requiring the users password:

%sudo ALL=NOPASSWD: ALL

Then ensure the user is part of the above group:

usermod -a -G sudo $USER

While You Wait

Normally, the work I do will not affect the system. If any services will require a restart or the system a reboot, I will tell you in advance. Such activities can take place on a schedule (between certain hours of the night) you decide on.

When the work is finished, .bash_history (and normally also typescript) will have a record of commands run by me.

OK, work's done, now what?

Check to ensure work was accomplished to your satisfaction.

Edit the $USER/.ssh/authorized_keys file to remove my key (normally the last key in the file).