Fedora Core5による自宅サーバー構築とその備忘録 〜第2章〜 Openssh

Opensshを使って他のPC(ただしLAN内からのPCからのみ)から接続する環境を作ります。鍵を使った通信を行います。

前提条件
1.クライアントは全てWindows
2.接続にはPutty日本語化バージョンを使用。
3.普段使用しているユーザー(testuser)で接続。LAN内のみ。
4.必要に応じて権限は適宜変更(ただしあくまでログインはtestuser)
5.リポリトジは追加済み(第1章参照)
6.LAN内のどのパソコンからでも設定や操作ができるようにする

下準備
最初に許可するユーザーを設定(LAN内のみ許可)第2章〜第4章共通作業(既に設定済みの場合は不要)
まず、hostsファイルを編集、LAN内部からのアクセスを許可、外部からのアクセスを遮断します

LAN内部からのアクセスを許可

% vi /etc/hosts.allow
ALL : 127.0.0.1
ALL : 192.168.1.*

を記入してセーブ

次に、外部からのアクセスを拒否

% vi /etc/hosts.deny
ALL : ALL

を記入してセーブ
ここまで共通作業

Opensshはデフォルトの状態でインストールされるようですが、もしない場合は

% yum -y install openssh-server

でインストール。

そして、肝心のsshdの設定ファイルをいじります。

% vi /etc/ssh/sshd_config

変更する箇所
ポートとプロトコルを強制指定

#Port 22
#Protocol 2,1
Protocol 2

Port 22
Protocol 2

ルートでのログインを許可しない

#PermitRootLogin yes

PermitRootLogin no

キーによる暗号化の有効化とディレクトリの指定

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

パスワード認証の無効化

#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes

PasswordAuthentication no
PermitEmptyPasswords no

以上を変更した上でセーブ。

セキュリティ設定の変更
デスクトップ→管理→セキュリティレベルとファイアーウォールの設定で信頼できるサービスのSSHにチェックが入っているかどうかも確認。次に、公開鍵と暗号鍵の作成に入ります。

暗号鍵の作成
 公開鍵、暗号鍵の作成にはputtygenを使用します。なお、この項目は全てWindowsマシンで作業を行います。puttygenをダウンロードページから落とします。ダブルクリックで開始し、Generateのボタンを押して鍵の作成を開始します。上のほうに進捗を示すバーが出ますのでその上でマウスをぐりぐりします。パスワードの入力を求められるので両方にパスワードを入力した上でまずsave public keyを押して公開鍵を保存。ファイル名はid_rsa.pubとします。次はsave private keyを押して秘密鍵を自分のわかる場所にわかる名前で保存。ここでは仮にFC5.ppkとします。

公開鍵のFedora側への移動
 先ほど作った公開鍵(id_rsa.pub)をFedora側に移動します。私はUSBメモリを使用しましたがフロッピーかCD-Rあたりもお手軽でしょう。testuserのホームディレクトリに保存しておきます(/home/testuser/)。

Fedora側での公開鍵登録作業
 まず、公開鍵を置いておくディレクトリを作成し、権限を設定します。

% mkdir /home/testuser/.ssh
% chmod 700 /home/testuser/.ssh

 次に、公開鍵をopensshで使える形に変換しディレクトリにコピー、権限を設定します。

% ssh-keygen -i -f id_rsa.pub >> authorized_keys
% cp authorized_keys /home/testuser/.ssh/authorized_keys
% chmod 600 /home/testuser/.ssh/authorized_keys

 最後に、不要なものを削除しておきます(ゴミ箱を使ってもいいです)

% rm id_rsa.pub
% rm authorized_keys

 sshdを再起動します。これでつなぐ準備ができました

% /etc/rc.d/init.d/sshd restart

Windowsからの接続
 Windowsからの接続にはputtyを使用します。Putty日本語化バージョンを落として解凍。設定変更すべき部分は次の通りです。

ウィンドウ→変換 UTF-8(CJK)を使用
接続→データ→自動ログインのユーザ名 testuserを入力
SSH→認証→認証のためのプライベートキーファイル 作成した暗号鍵であるFC5.ppkを指定
セッション→ホスト名 サーバーのIPアドレスを指定。プロトコルSSH

 以上を設定した上でセッションに適当な名前をつけて保存。後はこれをダブルクリックしてパスワードを入力すればつながるはずです。

謝辞
はじめての自宅サーバー構築 - Fedora/CentOS -
PuTTY で鍵交換方式による SSH 接続
Fedoraで自宅サーバー構築
 自分自身がここに書いた部分を設定するときに参考にしたのはこの3つのサイトです。これがなければ、おそらくこんなに簡単に話は進まなかったと思います。この場を借りて厚く御礼申し上げます。この項目の内容はこの3つのサイトの情報を元に自分が設定した内容に合わせて再構成したものです。

注意(免責)
 最後に、Fedora Core5に限らず、OSは全て生き物です。今日正解の方法が明日も正解であり続ける保障はどこにもありません。また、この項目についてはあくまで「自分のための覚え書き」として作ったものです。よって当サイトの各コンテンツ内容を保証する義務等は負いません。また、当方は、いかなる損害賠償等の法的責任は一切負いませんので、あらかじめご了承願います。