SSHのインストール

Red Hat Linuxのページトップへ

SSHサーバーのソフトウェアにはいくつかあるが、OpenBSD Licenceの
(非商用、商用利用を問わず利用可能)OpenSSHを使用する。
OpenSSHにはインストールの前にいくつかのソフトウェアが必要となる。
(1)OpenSSL(インストール方法)
(2)zlib(インストール方法)

またOpenSSHには接続元IPアドレスやネットワークアドレスによるアクセス制御機能がないため
Tcp Wrappersを一緒にインストールしたほうがよい。
インストール方法

OpenSSHのインストール
OpenSSHは、OpenSSH Projectによって開発されているSSHプロトコルを実装したソフトウェアであり、以下のサイトから入手可能である。また、本モデルでは、OpenSSHのバージョン3.0.2p1を用いて解説する。

 OpenSSH入手先:
  http://www.openssh.com/

以下の手順で、入手したアーカイブを展開し、コンパイルそしてインストールを行う(注2)。なお、インストール作業はroot権限で行う必要がある。

---アーカイブの展開---
% gzip -cd openssh-3.0.2p1.tar.gz | tar -xvf -
---コンパイル--- 
% cd openssh-3.0.2p1/
% ./configure --with-tcp-wrappers --disable-suid-ssh --with-ipv4-default --disable-pam
% make
---インストール--- 
% su
# make install
 

  (注2)  インストール前に、Tcp Wrappersのライブラリが存在するかどうかを確認する。必要なライブラリは、以下のとおりである。

/usr/lib/libwrap.a 
/usr/include/tcpd.h

   

SSHのポート番号を登録するため、/etc/servicesファイルにSSHの設定を追加する。

--- /etc/services(抜粋) ---
ssh 22/tcp
 


OpenSSHの設定
OpenSSHの設定と、起動方法を設定する。本モデルでは、「1) 運用方針」にしたがってア)からウ)の設定を行う。

ア) OpenSSHの起動スクリプトを作成する
イ) Tcp Wrappersによるアクセス制御を設定する
ウ) OpenSSHの設定 
   ・ rootアカウントによるSSH接続を拒否する
   ・ パスワードの設定されていないアカウントによる接続を拒否する
   ・ rhosts認証によるSSH接続を拒否する

ア)OpenSSHの起動スクリプト作成
システムの起動時にOpenSSHが自動的に起動されるようにするため、起動スクリプトを作成する。/etc/rc2.dディレクトリに起動スクリプト「S99sshd」を作成する。スクリプトの内容は以下のとおり。

#!/sbin/sh
case "$1" in
  'start')
    if [ -f /usr/local/sbin/sshd ]; then
      echo 'starting sshd.'
      /usr/local/sbin/sshd &
    fi
  ;;

  'stop')
    /usr/bin/pkill -x -u 0 'sshd'
  ;;

  *)
    echo "Usage: $0 { start | stop }"
    exit 1
  ;;
esac
exit 0
 

スクリプトファイル作成後、実行権限を与えるため、以下のコマンドを実行する。

# chmod 744 S99sshd
 


OpenSSHの設定
OpenSSHの設定は、/usr/local/etc/sshd_configファイルで行う。本モデルでは以下の設定を行う。

rootのssh接続を拒否する

デフォルト状態のOpenSSHはrootからのSSH接続が可能になっているためこれを拒否する。 

PermitRootLogin no
 


パスワードが設定されていないアカウントを拒否する 

PermitEmptyPasswords no
 


rhosts認証関係の設定

これらの設定が有効な場合、通信内容は暗号化されるが、認証は「~/.rhosts」などで行われるため危険である。よってこれを無効にする。    

RhostsAuthentication no
RhostsRSAAuthentication no
IgnoreRhosts yes
 


SSH の準備


SSH をより安全に使うため /etc/ssh/sshd_config を編集します。


PasswordAuthentication no ← identityが必須
PermitRootLogin     no ← rootでのログインを禁止
PermitEmptyPasswords  no ← 空のパスワードでのログインを禁止
AllowUsers hogehoge     ← SSHでログインできるのはユーザ "hogehoge" のみ 
 


上の設定を有効にするためSSHを再起動します。


# /etc/rc.d/init.d/sshd restart
sshdを停止中:          [ OK ]
sshdを起動中:          [ OK ] 
 

ぺんたん.info
あかいひ.com
IPくん.com
8枠.com - 競馬情報
galhime.com

PC Q&A||古い記事|雑学|ラーメン