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 秘密鍵 |
戻る |