На всякий случай для тех, кто ещё будет пользоваться этим решением:
Внимательно смотрите за тем, что удаляете!
Список этих пакетов (длинный список в первой команде - список пакетов, которые удалять не нужно через | ) меняется от версии к версии Дебиана/Убунты и зависит от того, под чем запущен пингвин (на железке/в KVM/Xen/openvz/chroot). Перед использованием первой команды нужно получить список пакетов на дебиане той же версии с установленным openssh-server в виртуалбоксе или ещё чем-то похожем.
Для debian squeeze как то так:
apt-get purge $(dpkg -l | awk '/ii / {print $2}' | egrep -vi '(adduser|anacron|apt|apt-utils|aptitude|base-files|base-passwd|bash|bind9|bind9-host|bind9utils|binutils|bsdmainutils|bsdutils|bzip2|ca-certificates|cifs-utils|console-common|console-data|console-tools|console-tools-dev|coreutils|cpio|cpp|cpp-4.4|cracklib-runtime|cron|dash|db4.8-util|debconf|debconf-i18n|debconf-utils|debian-archive-keyring|debianutils|defoma|dhcp3-client|dhcp3-common|diff|diffutils|dmsetup|dpkg|dselect|e2fslibs|e2fsprogs|ed|exim4|exim4-base|exim4-config|exim4-daemon-light|expat|fetchmail|file|findutils|finger|fontconfig|fontconfig-config|ftp|gawk|gcc-4.4-base|gettext|gettext-base|gnupg|gpgv|grep|groff-base|gzip|heirloom-mailx|hostname|htop|ifupdown|info|initramfs-tools|initscripts|insserv|install-info|iproute|iptables|iputils-arping|iputils-ping|iputils-tracepath|isc-dhcp-client|isc-dhcp-common|klibc-utils|klogd|ldap-utils|less|libacl1|libapr1|libaprutil1|libaprutil1-dbd-sqlite3|libaprutil1-ldap|libattr1|libavahi-client3|libavahi-common-data|libavahi-common3|libbind9-60|libblkid1|libboost-iostreams1.42.0|libbsd0|libbz2-1.0|libc-bin|libc6|libcap2|libck-connector0|libcomerr2|libconsole|libcrack2|libcroco3|libcups2|libcwidget3|libdb1-compat|libdb4.7|libdb4.8|libdbus-1-3|libdevmapper1.02.1|libdns69|libedit2|libept1|libexpat1|libfile-copy-recursive-perl|libfontconfig1|libfreetype6|libgcc1|libgcrypt11|libgdbm3|libgeoip1|libglib2.0-0|libgmp3c2|libgnutls26|libgomp1|libgpg-error0|libgpm2|libgssapi-krb5-2|libidn11|libisc62|libisccc60|libisccfg62|libk5crypto3|libkeyutils1|libklibc|libkrb5-3|libkrb5support0|libldap-2.4-2|liblocale-gettext-perl|liblockfile1|libltdl7|liblwres60|liblzma2|libmagic1|libmpfr4|libncurses5|libncursesw5|libnewt0.52|libnfnetlink0|libnl1|libpam-ck-connector|libpam-foreground|libpam-modules|libpam-runtime|libpam0g|libpaper1|libpcap0.8|libpcre3|libperl5.10|libpopt0|libreadline6|libsasl2-2|libselinux1|libsensors4|libsepol1|libsigc++-2.0-0c2a|libslang2|libsnmp-base|libsnmp15|libsqlite3-0|libss2|libssl0.9.8|libstdc++6|libsysfs2|libtalloc2|libtasn1-3|libtext-charwidth-perl|libtext-iconv-perl|libtext-wrapi18n-perl|libudev0|libunistring0|libusb-0.1-4|libuuid1|libwbclient0|libwrap0|libxapian22|libxml2|locales|lockfile-progs|login|logrotate|lsb-base|lsb-release|lsof|lynx|lynx-cur|lzma|m4|make|makedev|man-db|manpages|memtester|mime-support|mktemp|mlocate|module-init-tools|mount|mtools|nano|ncurses-base|ncurses-bin|ncurses-term|net-tools|netbase|odbcinst|odbcinst1debian2|openssh-blacklist|openssh-client|openssh-server|openssl|openssl-blacklist|passwd|perl|perl-base|perl-modules|portmap|procinfo|procmail|procps|psmisc|psutils|pwgen|python|python-minimal|python-support|python2.6|python2.6-minimal|quota|readline-common|rsync|samba|samba-common|sasl2-bin|screen|sed|sendmail-base|sendmail-cf|sendmail-doc|sensible-utils|sharutils|smbfs|snmp|ssl-cert|sudo|sysklogd|syslinux|syslinux-common|sysv-rc|sysvinit|sysvinit-utils|tar|tcpd|tcpdump|tcsh|telnet|tofrodos|traceroute|ttf-dejavu|ttf-dejavu-core|ttf-dejavu-extra|ttf-freefont|tzdata|ucf|udev|unixodbc|unzip|update-inetd|util-linux|uuid-runtime|vim|vim-common|vim-runtime|wget|whiptail|whois|wide-dhcpv6-client|xinetd|xz-utils|zlib1g|linux)' | tr "\r\n" " ")
(ахтунг, не тестил).
Список базовых пакетов нужно сначала получить на чистой машине (с уже установленным openssh-server):
dpkg -l | awk '{print $2}' | egrep -v '(Status|Err|Name) | tr "\r\n" " " | sed 's/ /|/g'
Думать лень с утра, так что написал по быдляцки команды, но обе работают. Только внимательно смотрите, что там удаляется, у меня на wheezy оно собралось сносить apt, хотя на squeeze не пыталось.
Ну и да, конкретно этот список я снимал с openvz-виртуалки, для KVM/Xen/baremetall список другим будет.