linxu中安装配置高性能SSH服务器详解

HPN-SSH 是一款高性能的SSH Server,主要通过Patch补丁的方式集成到OpenSSH得到应用。
根据官方的各种数据展示,在数据传输上的性能是OpenSSH的10倍。
如果我们采用了OpenSSH通道进行数据传输,比如通过SCP,Rsync等方式,那么采用HPN-SSH是一个不错的选择。

我的思路是将HPN-SSH整个编译安装到/opt/hpn-ssh目录下面,同时绑定6022号端口与指定特定路径的PID文件,这样就可以与系统原有的OpenSSH同时运行,互不影响。

下面是具体的安装与配置步骤:

1. 下载OpenSSH
# wget http://ftp5.usa.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz

2. 下载HPN-SSH补丁

Download HPN SSH Patch for OpenSSH 6.1
http://www.psc.edu/index.php/component/remository/func-startdown/861/

3. 解压OpenSSH并引用HPN-SSH补丁

# tar xzvf openssh-6.1p1.tar.gz
# gzip -d openssh-6.1p1-hpn13v14.diff.gz

# cd openssh-6.1p1
# patch < ../openssh-6.1p1-hpn13v14.diff
# ./configure --prefix=/opt/hpn-ssh
# make
# make install

4. 修改配置文件

# vim /opt/hpn-ssh/etc/sshd_config

port 6022
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin no
AuthorizedKeysFile .ssh/authorized_keys
X11Forwarding yes
#UsePrivilegeSeparation sandbox  # Default for new installations.
PidFile /opt/hpn-ssh/run/sshd.pid
Subsystem sftp /opt/hpn-ssh/libexec/sftp-server

5. 编写Service脚本
# vim /etc/init.d/hpn-sshd

#!/bin/bash
#
# Start up the HPN-SSH Plugged-in OpenSSH server daemon
#

PROG=HPN-SSH
HPN_SSH_HOME=/opt/hpn-ssh
SSH_KEYGEN=$HPN_SSH_HOME/bin/ssh-keygen
SSHD=$HPN_SSH_HOME/sbin/sshd
SSHD_CONFIG=$HPN_SSH_HOME/etc/sshd_config
PID_FILE=$HPN_SSH_HOME/run/sshd.pid

check_root()
{
  if [ $EUID -ne 0 ]; then
    echo "This script must be run as root" 1>&2
    exit 1
  fi
}

check_ssh_keys()
{
  if [ ! -a $HPN_SSH_HOME/etc/ssh_host_key ]; then
    $SSH_KEYGEN -A
  fi
}

start()
{
  check_root
  check_ssh_keys
  echo $"Starting $PROG..."
  $SSHD -f $SSHD_CONFIG
}

stop()
{
  check_root
  echo $"Stopping $PROG..."
  if [ -a $PID_FILE ] ; then
    kill -9 `cat $PID_FILE`
    rm -f $PID_FILE
  else
    echo "PID_FILE:$PID_FILE does NOT exist"
    exit 1
  fi
}

restart() {
  stop
  start
}

status() {
  SSHD_PORT=`grep -E '^Port' $SSHD_CONFIG`
  RUNNING_PID=`ps aux | grep $SSHD_CONFIG | grep -v grep | awk '{print $2}'`
  if [ -a $PID_FILE ] ; then
    if [ -z $RUNNING_PID ]; then
      echo "PID_FILE:$PID_FILE exists but $PROG is NOT running"
      exit 1
    fi
    echo "$PROG is running at PID:`cat $PID_FILE` on $SSHD_PORT"
  else
    echo "$PROG is stopped"
    exit 1
  fi
}

case "$1" in
  start)
    start
    sleep 1
    status
    ;;
  stop)
    stop
    status
    ;;
  restart)
    restart
    ;;
  status)
    status
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|status}"
esac
# chmod +x /etc/init.d/hpn-sshd

6. 启动关闭HPN-SSH
# /etc/init.d/hpn-sshd start

Starting HPN-SSH... 

HPN-SSH is running at PID:19657 on Port 6022

# /etc/init.d/hpn-sshd stop

Stopping HPN-SSH...
HPN-SSH is stopped

时间: 2024-10-27 07:51:59

linxu中安装配置高性能SSH服务器详解的相关文章

mongodb replica set 配置高性能多服务器详解_MongoDB

mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,请参考:详解mongodb 主从配置.master-slave模式,不能自动实现故障转移和恢复.所以推荐大家使用mongodb的replica set,来实现多服务器的高可用.给我的感觉是replica set好像自带了heartbeat功能,挺强大的. 一,三台服务器,1主,2从 服务器1:127.0.0.1:27017 服务器2:127.0.0.1:27018 服务器3:127.0.0.1:27019 1,创建

nginx中configure脚本支持的常用选项,拍摄自《Nginx高性能Web服务器详解》

centos下svn安装配置2种方法详解

svn安装一 1.首先下载subversion安装包之后解压,进入subversion目录 wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz tar xfvz subversion-1.6.6.tar.gz tar xfvz subversion-deps-1.6.6

Linux中安装rsync同步工具步骤详解

 rsync是一款服务器与服务器这间的同步工具了,通常我们可以利用rsync来实时数据同步操作了,下面我一起来看看安装rsync同步软件的教程.   安装 rsync-3.1.0.tar.gz  #tar zxvf rsync-3.1.0.tar.gz #cd rsync-3.1.0 #./configure --prefix=/home/work/rsync #make  #make install rsync服务端的配置: 环境:192.168.11.11为生产机:192.168.11.12

Linux中安装jdk1.6 x64步骤详解

下载jdk1.6 进入oracle官网,依次选择 Downloads-->Java SE-->拉倒网页最底部,点击Previous Releases - Java Archive后的DOENLOAD按钮,选择Java SE 6,选择Java SE Development Kit 6u45,选择Accept License Agreement后下载这个(下载时需要登录): blob.png 拷贝至服务器/usr/local # chmod +x jdk-6u45-linux-x64.bin #

centos安装配置GOLang开发环境详解

GOlang的安装方式有多种,今天新一[www.111cn.net]使用的是自己标准安装方法. 先到GO的官方下载地址下载自己相对应的安装包 GO下载地址:url 新一下载了(go1.1.1.linux-386.tar.gz)安装包,下载完成后解压到/usr/local/目录中 tar xzvf go1.1.1.linux-386.tar.gz -C /usr/local/ 接着给GO设置环境变量 export PATH=$PATH:/usr/local/go/bin 这样子新一就安装好了,检查

win7/win8中安装SQL Server 2000图文详解

①双击安 装后,会生成一个文件夹,然后进入cmd命令 ②用cmd进入相应的文件夹,偶的是"d:msde",然后 输入命令: setup sapwd="sa" securitymode=SQL disablenetworkprotocols=0 然后回车,具体如下图所示~ 二,安装SQL Sever2000 SQL2K下载地址:www点rayfile点com/files/892809c2-e3bd-11df-bba5-0015c55db73d/ 特大注意::一定要把这

linux中安装php solr扩展步骤详解

从http://pecl.php.net/package/solr下载最新版本. 解压后运行: phpize ./configure make install 在/etc/php.d下随便复制一个扩展的文件,把里面加载的扩展改成solr.so.重启php-fpm加载solr扩展:service php-fpm reload 然后修改php.ini(vim /usr/local/etc/php.ini ),把 extension_dir = "./" 修改为 extension_dir

WAMP环境下安装配置PHP Curl方法详解

  1, 复制PHP目录下的libeay32.dll, ssleay32.dll两个文件至WINDOWS/SYSTEM32目录下; 2,修改PHP.INI文件中的extension=php_curl.dll, 去掉前面的注释(即把冒号去掉); 3,重启wamp服务.