CentOS 下用 DropBear 替换默认的 OpenSSH

2012年10月26日 | 分类: 翻墙相关 | 标签: ,

最近收到一些读者的来信,询问小内存 VPS 的优化问题。许多人可能因为经费不足,或者希望用最小的代价实现最大的收益,都会选择小内存 VPS 来作站。经过我们的测试,64M内存的 VPS 经过合理配置,依然有可能支撑月 PV 约 10000 的访问量。对于站长来说,前期成本小,压力也就相对小,等网站做大了,再慢慢升级配置也不迟。

今天 VPSeek 首先介绍如何在 CentOS 下用 DropBear 替换默认的 OpenSSH ,从而减少内存的消耗。同时 VPSeek 会在近期整理出更多的小内存 VPS 优化教程,方便大家参阅,欢迎期待!接下来我们将对 DropBear 进行一个详细的介绍。

什么是 DropBear

DropBear 是一款免费和开源的轻量级 SSH 服务端以及客户端,与 OpenSSH 相比,它更轻巧。当服务器使用 OpenSSH 时,每当一个用户登陆,OpenSSH 会开启两个进程,而 DropBear 仅开启一个,使用 OpenSSH 占用的内存将会是 DropBear 的 5-6 倍之多,因而如果 VPS 只有 128M 或者是 64M,那么用 DropBear 替换默认的 OpenSSH 将是内存优化的首要任务!

适用的系统

  • CentOS 5.x (32bit 或 64bit)
  • CentOS 6.x (32bit 或 64bit)

从官方下载 DropBear 源码

首先是必须通过 SSH 登陆到你的 VPS,然后执行以下命令,从官方下载 DropBear 源码。

  1. yum install zlib* gcc make
  2. cd /root/
  3. mkdir tmp
  4. cd tmp
  5. wget http://matt.ucc.asn.au/dropbear/releases/dropbear-2011.54.tar.gz
  6. tar zxvf dropbear-2011.54.tar.gz
  7. cd dropbear-2011.54
  8. ./configure

先不要急着 make && make install (请先不要编译哦!)

更改 OpenSSH 默认端口

正如我们刚才所说的,先不要急着编译 DropBear,特别是当你的 OpenSSH 端口默认是 22 的时候。因为 DropBear 默认也用 22 端口,如果直接编译很可能会登陆不上 VPS 。运行下面这个命令:

  1. vi /etc/ssh/sshd_config

然后找到 #port 22 ,我们把他替换成 port 2020 (就是说把 port 22 前面的 # 去掉,然后把 22 改成 2020 ,然后保存退出) 。然后运行下面这个命令使设置生效:

  1. service sshd restart

开始编译 DropBear

在刚才的目录里面,运行以下命令开始编译

  1. make PROGRAMS=”dropbear dbclient dropbearkey dropbearconvert scp”
  2. make PROGRAMS=”dropbear dbclient dropbearkey dropbearconvert scp” install

配置 DropBear

编译安装完毕之后还不能直接使用,我们必须配置 DropBear SSHD 服务器的公钥,以及让他随 VPS 开机自动启动。执行以下命令:

  1. mkdir /etc/dropbear
  2. /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
  3. /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key

接下来启动 Dropbear

  1. /usr/local/sbin/dropbear

然后将以上命令放入 /etc/rc.local 里面

停止 OpenSSH 以及禁止他自动启动

首先我们必须确认 DropBear 能够正常工作,因此我们直接 SSH 到 VPS ,默认端口是 22,如果可以登陆,则表示 DropBear 运行正常,接下来就是停止 OpenSSH 并且让他不要启动。运行以下命令:

记得先确定 DropBear 已经运行,否则你将失去与 VPS 的联系!(如果你的服务商提供 console 连接,则可以进去启动。)

  1. service sshd stop
  2. chkconfig –level 2345 sshd off

参数备注

1. DropBear 的默认安装路径:

  1. /usr/local/sbin/

2.从非 22 端口启动 DropBear

  1. /usr/local/sbin/dropbear -p 2222

3.查看 DropBear 帮助

  1. /usr/local/sbin/dropbear -h

4.测试服务器在使用了 Dropbear ,关闭了 OpenSSH 后,有一个正在连接的 OpenVPN 进程 + 一个 Dropbear 进程,未安装其他程序的情况下,内存消耗只有 20M

原文http://www.vpseek.com/newbies-guides/use-dropbear-instead-of-the-defult-openssh-on-centos.html

  1. hehe
    2012年10月26日19:25

    嵌入式的最爱用这个