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

您所在的位置:网站首页 linux的ssh配置 linxu中安装配置高性能SSH服务器详解

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

#linxu中安装配置高性能SSH服务器详解| 来源: 网络整理| 查看: 265

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 # ./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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3