OpenSSH インストール手順 Since: 2003.08.30
Last: 2003.09.06

■環境情報
OS: Vine Linux 2.6r1
OpenSSH: 3.6p1

■入手先
OpenSSH WebSite: http://www.openssh.com/ja/

■関連ソース入手先
OpenSSL: http://www.infoscience.co.jp/technical/openssl/
zlib: http://www.gzip.org/zlib/

■インストール手順
ソースコンパイルの前にsshdを動作させる為の専用ユーザを作成する。

mkdir /var/empty
chown root:sys /var/empty
chmod 755 /var/empty
/usr/sbin/groupadd sshd
/usr/sbin/useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd

zlib、opensslが導入済みであれば以下の手順にてopensshをコンパイルインストールする。configureオプションについては文末参照

tar xfvz openssh-3.6p1.tar.gz
cd openssh-3.6p1
./configure --with-tcp-wrappers --sysconfdir=/etc/ssh
make
make install

以下の手順にて自動起動の設定をする。

cp ./contrib/redhat/sshd.pam /etc/pam.d/sshd

cp ./contrib/redhat/sshd.init /etc/rc.d/init.d/sshd
cd /etc/rc.d/rc3.d/
ln -s ../init.d/sshd S90sshd
cd /etc/rc.d/rc5.d/
ln -s ../init.d/sshd S90sshd

cd /usr/bin/
ln -s /usr/local/bin/ssh-keygen ssh-keygen
cd /usr/sbin/
ln -s /usr/local/sbin/sshd sshd

■動作確認
以下にて動作を確認。

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



□configureオプションについて
コンパイルの最に指定しているconfigureオプションの意味は以下のとおり。

--with-tcp-wrappers
TCP Wrappersを組込み、hosts.allow及びhosts.denyに指定されたアクセス制限を適用する。sshdをデーモンとして起動する際に、詳細なアクセス制限を設けたい場合には指定する。
--with-ipv4-default
IP v4の環境にて動作させる場合に指定。自動的に適用されるため、あて指定する必要はない。
--with-md5-passwords
認証の際にMD5パスワードを有効にする。OSの認証がMD5にて行われている場合にはこのオプションを指定する。
--with-pam
認証の際にPAMを使用する。OSの認証がPAMにて行われている場合にはこのオプションを指定する。
--sysconfdir=[PATH]
sshdの設定ファイル保管場所を指定。
--with-pid-dir=[PATH]
PIDファイルの作成場所を指定する。



□sshd_configの設定内容
sshdサービスの動作を設定するsshd_configの設定は以下のとおり。

Port 22
sshdの待ち受けポートを指定。初期値は 22。
Protocol 1,2
sshdのプロトコル優先順位を指定。初期値は 2,1。しかしこの設定ではWindows上からのTeraTermPro SSHでの接続ができないため、Ver. 1を優先する設定に変更する必要がある。
PermitRootLogin no
rootでのリモートログインの許可・禁止設定。初期値は yes。セキュリティの観点からrootでのログインは望ましくないため、noに設定することを推奨。
PasswordAuthentication no
パスワードによるリモートログインの許可・禁止設定。初期値は yes。RSAキーファイルとパスフレーズを用いたログインのみを許可する場合にはnoに変更。
PermitEmptyPasswords no
空パスワードでのリモートログインの許可・禁止設定。初期値は no。セキュリティの観点から空パスワードでのログインは望ましくないため、noに設定することを推奨。
UsePrivilegeSeparation yes
子プロセスの権限委譲の許可・禁止設定。初期値は no。yesに設定することで子プロセスがroot権限で動作することを防げるが、通信の圧縮ができなくなる。
Compression no
通信の圧縮設定。初期値は yes。権限委譲設定を有効にしている場合はnoに設定する。この設定がyesであっても、権限委譲が設定されていれば通信の圧縮を行なわないが、起動時に警告が表示される。



□認証用キーファイルの作成手順
sshを用いたリモートログインの認証にキーファイル+パスフレーズを用いる場合は、以下の手順にてキーファイルの作成を行なう。

キーファイルを作成するユーザでログインした後、以下の手順を実行する。

cd ~ ホームディレクトリに移動
ssh-keygen -t rsa1 RSAキーファイルの生成
cp identity.pub authorized_keys 公開鍵を認証用ファイルに指定
chmod 600 authorized_keys 公開鍵へのアクセス権を設定

秘密鍵(identity)は任意の名称に変更し、ローカルマシンに移動させる。
以後、認証の際には秘密鍵の指定とパスフレーズの入力でログイン可能となる


□ssh-keygenの設定内容
ssh-keygenの使用方法は以下となる。

ssh-keygen [option]

optionには以下の暗号方式の指定を行なう必要がある。指定方法は以下の通り。

ssh-keygen -t rsa1 RSA protocol 1による暗号化
TeraTermProにて使用する場合はこちらを指定。
ssh-keygen -t rsa2 RSA protocol 2による暗号化
ssh-keygen -t dsa DSAによる暗号化

キーファイルは各ユーザのホームディレクトリ配下の.sshに作成される。ファイル名は指定した暗号によって以下となる。

identity.pub
identity
RSA protocol 1 公開鍵
RSA protocol 1 秘密鍵
id_rsa.pub
id_rsa
RSA protocol 2 公開鍵
RSA protocol 2 秘密鍵
id_dsa.pub
id_dsa
DSA 公開鍵
DSA 秘密鍵


戻る