Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2025/5 »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
05-11 03:39

openssh 5.8로 업데이트

OS/Linux | 2014. 1. 10. 20:00 | Posted by Work Ant

서버에 설치된 ssh 버전확인

 

[root@test ~]# ssh -V

OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008


기존 패키지 삭제

/etc/rc.d/init.d/sshd stop


rpm -qa | grep ssh 패키지 확인


rpm -e openssh-server

rpm -e openssh-clients

rpm -e openssh


openssh 5.8 다운로드

wget ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz


압축해제

tar -xvzf openssh-5.8p1.tar.gz


컴파일하기

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-mantype=man --with-md5-passwords --with-zlib

make

make install


/etc/ssh/sshd_config 설정

vi /etc/ssh/sshd_config

Port 22

Protocol 2

 

HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_dsa_key

PermitRootLogin yes

 

PasswordAuthentication yes

PermitEmptyPasswords no


ssh 데몬 자동스크립트 설정

vi /etc/rc.d/init.d/sshd

 

#!/bin/bash

#

# Init file for OpenSSH server daemon

#

# chkconfig: 2345 55 25

# description: OpenSSH server daemon

#

# processname: sshd

# config: /etc/ssh/ssh_host_key

# config: /etc/ssh/ssh_host_key.pub

# config: /etc/ssh/ssh_random_seed

# config: /etc/ssh/sshd_config

# pidfile: /var/run/sshd.pid

# source function library

. /etc/rc.d/init.d/functions

# pull in sysconfig settings

[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd

RETVAL=0

prog="sshd"

# Some functions to make the below more readable

KEYGEN=/usr/local/openssh/bin/ssh-keygen

SSHD=/usr/local/openssh/sbin/sshd

RSA1_KEY=/etc/ssh/ssh_host_key

RSA_KEY=/etc/ssh/ssh_host_rsa_key

DSA_KEY=/etc/ssh/ssh_host_dsa_key

PID_FILE=/var/run/sshd.pid

do_rsa1_keygen() {

        if [ ! -s $RSA1_KEY ]; then

                echo -n $"Generating SSH1 RSA host key: "

                if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then

                        chmod 600 $RSA1_KEY

                        chmod 644 $RSA1_KEY.pub

                        success $"RSA1 key generation"

                        echo

                else

                        failure $"RSA1 key generation"

                        echo

                        exit 1

                fi

        fi

}

do_rsa_keygen() {

        if [ ! -s $RSA_KEY ]; then

                echo -n $"Generating SSH2 RSA host key: "

                if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then

                        chmod 600 $RSA_KEY

                        chmod 644 $RSA_KEY.pub

                        success $"RSA key generation"

                        echo

                else

                        failure $"RSA key generation"

                        echo

                        exit 1

                fi

        fi

}

do_dsa_keygen() {

        if [ ! -s $DSA_KEY ]; then

                echo -n $"Generating SSH2 DSA host key: "

                if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then

                        chmod 600 $DSA_KEY

                        chmod 644 $DSA_KEY.pub

                        success $"DSA key generation"

                        echo

                else

                        failure $"DSA key generation"

                        echo

                        exit 1

                fi

        fi

}

do_restart_sanity_check()

{

        $SSHD -t

        RETVAL=$?

        if [ ! "$RETVAL" = 0 ]; then

                failure $"Configuration file or keys are invalid"

                echo

        fi

}

start()

{

        # Create keys if necessary

        do_rsa1_keygen

        do_rsa_keygen

        do_dsa_keygen

        echo -n $"Starting $prog:"

        initlog -c "$SSHD $OPTIONS" && success || failure

        RETVAL=$?

        [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd

        echo

}

stop()

{

        echo -n $"Stopping $prog:"

        killproc $SSHD -TERM

        RETVAL=$?

        [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/sshd

        echo

}

reload()

{

        echo -n $"Reloading $prog:"

        killproc $SSHD -HUP

        RETVAL=$?

        echo

}

case "$1" in

        start)

                start

                ;;

        stop)

                stop

                ;;

        restart)

                stop

                start

                ;;

        reload)

                reload

                ;;

        condrestart)

                if [ -f /var/lock/subsys/sshd ] ; then

                        do_restart_sanity_check

                        if [ "$RETVAL" = 0 ] ; then

                                stop

                                # avoid race

                                sleep 3

                                start

                        fi

                fi

                ;;

        status)

                status $SSHD

                RETVAL=$?

                ;;

        *)

                echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"

                RETVAL=1

esac

exit $RETVAL


저장 후


chmod 700 /etc/rc.d/init.d/sshd


vi /etc/rc.d/rc.local

맨마지막 줄에 

/etc/rc.d/init.d/sshd start


ssh데몬구동

/usr/local/openssh/sbin/sshd 또는 /etc/rc.d/init.d/sshd start


 

 

 

 

[root@test ~]# ssh -V

OpenSSH_5.8p1, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

'OS > Linux' 카테고리의 다른 글

crontab 옵션  (0) 2014.01.10
제로보드  (0) 2014.01.10
yum "Error: Cannot find a valid baseurl for repo: addons" 해결방법  (0) 2014.01.10
history 날짜 기록  (0) 2014.01.10
커널패닉 발생시 대처  (0) 2014.01.10
: