OpenSSHの設定

このページは機械学習用計算サーバーの構築(インストール編)の下層であり、当該ページ内の順序にインストールされることを想定した内容です。

SSHサーバーのインストールを行っていない場合は以下のコマンドで行う。

ルーターの全ポート閉じていれば細かいことは気にしなくて問題なさそうであるが、Webサーバーとしても用いたい。セキュリティーの改善のため、以下の設定をした。ここではデフォルトからの変更点のみを示す。設定ファイルは

で変更する。

ポート番号の変更

ポート番号が22のままだと、攻撃のターゲットになりやすい。番号を変えたとしてもポートスキャンをすればバレるわけだが、やらないよりはましである。

ルートログインの禁止

ルートログインされてしまってはおしまいなので、禁止しておく。

公開鍵暗号方式のみ許可

パスワードのみの認証は危険である。パスワード認証を許すと一気に総当たり攻撃に弱くなるため、その手段を潰しておくことが必要である。その為の設定である。

ログインユーザーの制限

通常使用するログインユーザーのみログイン可能とする。

ポートフォワーディングの許可

VNCの通信をネットワーク越しにするのは非常に危険である。そのため、セキュアなSSHを通じて暗号化通信をすることでよりセキュアにできる。そのための設定である。詳細はVNCの項に示す。

これでもセキュリティ対策は十分とは言えないので、ポートノッキングや、踏み台サーバーIPの指定などの併用をおすすめする。また、私はセキュリティに詳しいわけでもなんでもないので、自分で調べることをおすすめする。

公開鍵暗号の設定

MacまたはLinux上(Ubuntu上でも良い)で、

と入力すると、ファイル名とパスフレーズを聞かれる。仮に秘密鍵が流出したときの対策として、パスフレーズを11文字以上で設定する。その理由はこちら

すると、

公開鍵: ~/.ssh/id_rsa.pub
秘密鍵: ~/.ssh/id_rsa

というファイルができている。(ファイル名を指定した場合は「id_rsa」の部分が異なる)

公開鍵を、サーバーの ~/.ssh/に配置し、

を実行する。

秘密鍵はクライアントのPCの ~/.ssh/に配置する。秘密鍵は絶対に流出させてはならない。

最後に、権限を設定する。サーバー上で、

を実行する。

最後に、SSHで接続できるか確認して終了となる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)