パッケージの有無の確認
まずはopensshが入っているかどうか確認する。yum list installed | grep opensshと入力して「openssh」と「openssh-server」が入っていたらOK。
インストールされていなければyum install openssh yum install openssh-server と打ってインストールする。
設定ファイルの編集
cd /etc/ssh でディレクトリを移動する。中身を見るとsshd_configのファイルがあるので、まずはバックアップを取っておく。
cp sshd_config sshd_config_default と入力することでコピーを作成しておく。これで動かなくなったときにこのファイルを復元すればOK。
一応元に戻したいときは以下のコマンド入力すればいいのかな。①で削除②で名前の変更
① rm sshd_config
② mv sshd_config_default sshd_config
vi sshd_configと入力しviエディタを開く。以下の表の部分を確認しつつ変更。
| 初期値 | 変更 | 意味 |
| #Port 22 | なし | ポート番号 |
| #PermitRootLogin yes | PermitRootLogin no | rootログイン |
| #PermitEmptyPasswords no | PermitEmptyPasswords no | 空のパスワード禁止 |
| PasswordAuthentication yes | なし | パスワード認証許可 |
| なし | AllowUsers ユーザー名 | ユーザー名のみ許可 |
本来であればrootログインとパスワード認証を禁止して、公開鍵と秘密鍵によるホスト認証が必要と思われる。今回はちょっとまだよくわからないことだらけなので、root君とパスワード認証は生かしておくことにした。でも実際に運用となるとここはきちんとブロックしておかないといけないですね。
TCP Wrapperでアクセス制限
PCの順番的にどちらを先に判断しているかわからないが、hosts.denyとhosts.allowの設定をする。
hosts.denyのファイルにはsshdの接続を一旦すべて拒否するようにする。vi /etc/hosts.denyと入力しエディタを立ち上げて一番下の行にsshd:allと入力して上書き保存をする。
次にhosts.allowファイルも編集。同じようにvi /etc/hosts.allowと入力しエディタを立ち上げ、最後の行に自分のPCのアドレスを入力しておく。コマンドプロンプトで調べたら192.168.11.19だったのでsshd:192.168.11.19と入力して上書き保存。これでこちらに書いたアドレス以外からのアクセスは拒否する形となる。
あとほかにもPAMとrootユーザーの切り替え制限をしてセキュリティ効果を上げることができるみたいだが、今回は割愛。
リモート接続
とりあえずこの設定で他のPCからの接続を試みてみる。CentOS側のipアドレスを調べるためにip aと入力して確認。ip a はip addrでも良いみたいだが、自分は短いほうで覚えています。
先ほど確認したIPアドレスを使って、TeraTermというソフトを利用して接続します。
とりあえず、root君での接続は許可してあるので、それで接続してみる。
無事にログインすることができました。
うちのPCの環境のせいかどうかわかりませんが、VirtualBoxでのコマンドラインと比べるとTeraTermのほうは白文字がくっきりはっきりしているので見やすい。今後はこちらをメインに触っていくのでちょっとありがたいなと思いました。
コメント