OpenSSH による ssh サーバ構築

SETUP

telnet よりも安全なセキュアシェル、OpenSSH を Linux Slackware 7.0 に導入してみました。


SSH

SSH とは、Secure Shell の略で、セキュリティによって保護された通信間で操作できる Shell のことです。

telnet と違い、通信が暗号化されるため、盗聴されにくいという利点があります。SSH は SSL ( Secure Socket Layer ) という技術を使って、通信を暗号化しています。

 

今回、OpenSSH を、Linux Slackware 7.0 へインストールしてみました。

 

ソフトウェアの入手

OpenSSH を使用するためには、当然のように OpenSSH 本体が必要です。そのほかに、OpenSSL も必要となってきます。また zlib のバージョンも 1.1.3 が必要ということです。

 

まずは、OpenSSH を入手します。

現時点では、ftp://ftp.jp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ から入手することができます。ここから現時点での最新版である、openssh-2.5.1p1.tar.gz をダウンロードします。

 

続いて OpenSSL も入手しておきます。

これは ftp://ftp.openssl.org/source/ から入手可能です。現時点での最新バージョン openssl-0.9.6.tar.gz をダウンロードすることにしました。

 

必要に応じて、zlib-1.1.3.tar.gz も、ftp://ftp.freesoftware.com/pub/infozip/zlib/ よりダウンロードします。Slackware 7.0 にはすでに Version 1.1.3 の zlib が入っているようなので、今回はダウンロードしませんでした。

 

sshd のインストール

sshd のインストールを行います。

以下では上記で集めたファイルが /usr/src にあるものとして話を進めます。まずは cd /usr/src として、/usr/src/ ディレクトリへ移動します。

 

まずは OpenSSL のインストールからです。

tar xvzf openssl-0,9.6.tar.gz

と入力して、OpenSSL のソースファイルを展開します。すると、openssl-0.9.6/ というディレクトリが出来上がりますので、cd openssl-0.9.6 と入力してその中へ移動します。

./config

make
make install

という手順で、インストールすることができます。

 

つづいて OpenSSH のインストールです。

tar xvzf openssh-2.5.1p1.tar.gz

と入力して展開後、openssh-2.5.1p1/ というディレクトリに cd コマンドで入ります。

そして次の手順でコンパイルとインストールを行います。

./configure

make
make install

 

これでインストール完了です。もしも Linux Slackware 7.0 などで、うまくログオンできなかったりした場合には、./configure --with-md5-passwords を実行してから再び make しなおしてみるとうまくいくかも知れません。

 

sshd を起動させる

起動は簡単で、/usr/local/sbin/sshd を動かせばいいだけです。

 

今回は起動直後から動作するように、起動スクリプトを書き換えてみます。

まず cd /etc/rc.d と入力して、起動スクリプトのあるところまで移動します。そしてその中にある rc.inet2 をテキストエディタで開いて、sshd という記述がある部分を探します。

Slackware 7.0 の場合、rc.inet2 スクリプトの中に、以下のような記述が見られると思います。

if [ -x /usr/local/sbin/sshd ]; then

echo -n " sshd"
/usr/local/sbin/sshd

elif [ -x /usr/sbin/sshd ]; then

echo -n " sshd"
/usr/sbin/sshd

fi

よって、今回のインストールによって /usr/local/sbin/ にインストールされた sshd は、自動的に起動時に呼び出されるように設定されています。もしそうなっていなかったり、先頭に # がついてコメントアウトされている場合は、起動される状態に変更しましょう。

 

あとは再起動するか、ちょくせつ /usr/local/sbin/sshd と入力することで、sshd が起動します。

 

sshd で接続する

sshd が起動したら、今度はクライアントソフトをつかって ssh を使ってみる事にしましょう。

OpenSSH をインストールした際に、接続するためのクライアントソフトとして /usr/local/bin/ssh というプログラムもいっしょにインストールされています。これをつかって、自分自身に接続してみることにします。

/usr/local/bin/ssh localhost

ここで、root@localhosts's password: というプロンプトが出れば成功です。ssh が応答したということになりますので、正常に sshd が動いているという確認が取れました。

上の localhost という記述は、自分自身という意味になります。実際に外部のサーバへ接続したい場合には、この部分を localhost ではなく、接続先のドメイン名か IP アドレスに置き換えましょう。