戻る

セキュリティ設定

公開鍵認証設定

接続する機械としてwindowsを使用し,ターミナルソフトとしてTera Termを使用し,Tera TermのSSH接続機能を利用します。
Tera Termの公式サイトは http://ttssh2.osdn.jp/
※なんでconoHaのVPSに接続できないんだ?
 というのでとりあえず放置してセキュリティ設定全体をパスしました。
(2021.6.9)

「設定」→「SSH鍵生成」で「生成」をクリック、パスフレーズを2回入力して、公開鍵id_rsa.pubと秘密鍵id_rsaをローカルに保存する。
Tera Termでaliceユーザーでパスワードログインし、ウィンドゥに公開鍵id_rsa.pubをドラッグ&ドロップする。
(アップロードしていいか問われる。転送先を空欄にし「SCP」をクリック。)
公開鍵リスト用ファイルにid_rsa.pubを追加する設定を始める。
$ cd (ホームディレクトリに確実に移動)
$ mkdir .ssh (ディレクトリ作成)
$ chmod 700 .ssh/ (ディレクトリのパーミッションを自分はフルアクセス、他人は禁止とする)
$ cat id_rsa.pub > .ssh/authorized_keys (公開鍵リスト作成)
$ chmod 600 .ssh/authorized_keys (公開鍵リストの自分以外の読み込みを禁止する)
$ rm -f id_rsa.pub (セキュリティを高めるため公開鍵を削除する)
SSH接続から一旦ログアウトする。
$ exit
公開鍵認証でログインできることを確かめる。
Tera Termの「新しい接続」で、「ユーザー名」にalice、「パスフレーズ」に鍵を生成した際のパスフレーズ、「秘密鍵」にid_rsaを指定し、「OK」をクリック。
aliceのログインパスワードを入力せずログインできたら成功。
次にaliceにsudo権限を付与する。
$ su -
Password: (rootパスワードを入力しEnter)
# gpasswd -a alice sudo
一旦ログアウトして再度ログインし、権限を有効にする。
試しにOSのアップデートをかける。成功すれば、aliceユーザーにsudo権限が付与されたことの確認にもなる。
$ sudo apt-get update
$ sudo apt-get dist-upgrade
ここから、より安全なSSH接続のための設定を行う。まず、rootユーザーにスイッチする。
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup (設定ファイルを念のためバックアップする)
# vim /etc/ssh/sshd_config
変更点は3カ所。
・Port 22 を 56789(例)に書き換える
・PermissionRootLogin yes を no に書き換える
・PasswordAuthentication yes を no に書き換える
変更を保存し、sshdを再起動する。
# systemctl restart sshd
sshdの状態を確認する。
# systemctl status sshd
Active: active(running) と表示されていれば正常に変更されている。(Deadになっていた場合は、ConoHaのコンソールから修正する。)
次にファイヤーウォールの設定を変更する。
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml (ファイヤーウォールの設定ファイルをコピーして来る)
設定ファイルを編集する。
# vim /etc/firewalld/services.xml
 を56789(例)に書き換え、ファイルを保存する。
ポートを開放する。
# ufw status
(仮にufwがインストールされていなければ apt-get install ufwする)
Status:activeなのを確かめる。
SSH接続ポートを許可する。
# ufw allow 56789(例)
http(80)、https(443)も許可する。
# ufw allow 80
# ufw allow 443
安全のため、許可したポート以外を全て閉じる。
# ufw deafult deny
変更を反映させ、確認する。
# ufw reload
# ufw status

(2021.6.15.初稿)

戻る