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/sshdelif [ -x /usr/sbin/sshd ]; then
echo -n " sshd"
/usr/sbin/sshdfi
よって、今回のインストールによって /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 アドレスに置き換えましょう。