o well heres my quick and drity getting a ubuntu vps up and running. when that is done something like plink/putty/securecrt is used in combination with sockcaps/proxifier to force you app through to the vps.
1) multi and universe add in the
nano /etc/apt/sources.list
deb
http://archive.ubuntu.com/ubuntu jaunty multiverse
deb
http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb
http://archive.ubuntu.com/ubuntu jaunty universe
deb
http://security.ubuntu.com/ubuntu jaunty-security universe
2) update and upgrade
apt-get update
apt-get upgrade
2.b) add new user*
adduser <username goes here> --force-badname
2.c) make temp folder (for ssh and so on)*
mkdir /home/<username goes here>/temp
*...obviously this is something like
adduser jacowaco --force-badname and then
mkdir /home/jacowaco/temp. this user is going to be used to connect to you vps instead of root as we disable it.
2.d) install wget
apt-get install wget
3) TCP tweak
http://www.cyberciti.biz/tips/sshd-server-optimization.html
nano /etc/sysctl.conf
net.ipv4.netfilter.ip_conntrack_max=103728
# optimization start
# increase TCP max buffer size setable using setsockopt()
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608
# increase Linux auto tuning TCP buffer limits
# min, default, and max number of bytes to use
# set max to at least 4MB, or higher if you use very high BDP paths
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_window_scaling = 1
# optimization end
4) openssh custom patch + install (in temp folder somewhere)
http://www.psc.edu/networking/projects/hpn-ssh/
a) install prereqisitves
apt-get install zlib1g-dev
apt-get install libssl-dev
apt-get install make
b) wget openssh 5.3
wget
ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.3p1.tar.gz
tar -xvf openssh-5.3p1.tar.gz
c) wget patch (in the extracted openssh folder from tar ball)
wget
http://www.psc.edu/networking/projects/hpn-ssh/openssh-5.3p1-hpn13v7.diff.gz
zcat openssh-5.3p1-hpn13v7.diff.gz
d) configure, make and install
./configure && make
make install
5) preform ssh setup
quicky at
http://wiki.centos.org/HowTos/Network/SecuringSSH
nano /etc/ssh/sshd_config
a) disable root login
PermitRootLogin no
b) set differant port than 22
Port 443
c) stop ssh
/etc/init.d/ssh stop
d) start ssh
/etc/init.d/ssh stop
6) install/setup fail2ban *
apt-get install fail2ban
nano /etc/fail2ban/jail.conf
[ssh]
enabled = true
port = 443
filter = sshd
logpath = /var/log/auth.log
maxretry = 6