OpenSSH の起動

インストールした OpenSSH サーバーを起動して動作の確認を行います。
また OpenSSH の自動起動スクリプトを作成し、OS 起動時に自動的に OpenSSH を起動するように設定します。

OpenSSH の起動と終了

OpenSSH は以下のように起動します。

# /usr/local/openssh/sbin/sshd

実行中のプロセスを表示させて OpenSSH が起動しているかを確認します。

# ps ax | grep sshd

19799 ?        Ss     0:00 /usr/local/openssh/sbin/sshd
19966 pts/0    S+     0:00 grep sshd

OpenSSH を停止する場合は kill コマンドを使って sshd のプロセスを終了させます。

# kill `cat /var/run/sshd.pid`

OpenSSH の自動起動スクリプト

OpenSSH の自動起動スクリプトを使うことで、サーバーマシンが起動するときに自動的に OpenSSH を起動させることができます。
OpenSSH の自動起動スクリプト /etc/init.d/ssh ファイルを以下のように作成します。

# vi /etc/init.d/ssh
/etc/init.d/ssh
#! /bin/sh
set -e

# /etc/init.d/ssh: start and stop the OpenBSD “secure shell(tm)” daemon

test -x /usr/local/openssh/sbin/sshd || exit 0
( /usr/local/openssh/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0

if test -f /etc/default/ssh; then
    . /etc/default/ssh
fi

check_for_no_start() {
    # forget it if we’re trying to start, and /etc/ssh/sshd_not_to_be_run exists
    if [ -e /etc/ssh/sshd_not_to_be_run ]; then
        echo “OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)”
        exit 0
    fi
}

check_privsep_dir() {
    # Create the PrivSep empty dir if necessary
    if [ ! -d /var/run/sshd ]; then
        mkdir /var/run/sshd
        chmod 0755 /var/run/sshd
    fi
}

check_config() {
    if [ ! -e /etc/ssh/sshd_not_to_be_run ]; then
        /usr/local/openssh/sbin/sshd -t || exit 1
    fi
}

export PATH=”${PATH:+$PATH:}/usr/local/openssh/sbin:/sbin”

case “$1” in
  start)
        check_for_no_start
        check_privsep_dir
        echo -n “Starting OpenBSD Secure Shell server: sshd”
        start-stop-daemon –start –quiet –pidfile /var/run/sshd.pid –exec /usr/local/openssh/sbin/sshd — $SSHD_OPTS
        echo “.”
        ;;
  stop)
        echo -n “Stopping OpenBSD Secure Shell server: sshd”
        start-stop-daemon –stop –quiet –oknodo –pidfile /var/run/sshd.pid
        echo “.”
        ;;

  reload|force-reload)
        check_for_no_start
        check_config
        echo -n “Reloading OpenBSD Secure Shell server’s configuration”
        start-stop-daemon –stop –signal 1 –quiet –oknodo –pidfile /var/run/sshd.pid –exec /usr/local/openssh/sbin/sshd
        echo “.”
        ;;

  restart)
        check_config
        echo -n “Restarting OpenBSD Secure Shell server: sshd”
        start-stop-daemon –stop –quiet –oknodo –retry 30 –pidfile /var/run/sshd.pid
        check_for_no_start
        check_privsep_dir
        start-stop-daemon –start –quiet –pidfile /var/run/sshd.pid –exec /usr/local/openssh/sbin/sshd — $SSHD_OPTS
        echo “.”
        ;;

  *)
        echo “Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart}”
        exit 1
esac

exit 0

作成した自動起動スクリプトに実行権限を与えて自動起動設定を行います。

# chmod 755 /etc/init.d/ssh
# update-rc.d ssh defaults 55 25

自動起動スクリプトを使って OpenSSH を起動する場合は以下のように実行します。

# /etc/init.d/ssh start