vdnih’s diary

技術的な記事を書きます。毎週日曜更新予定。

# AWS無料枠でデータ分析勉強用環境を作成したい(part4)


作成者:仮想デニッシュ(@vdnih)

作成日:2020年2月16日

今回の趣旨

AWSやデータ分析の勉強のために、AWS無料枠を利用してデータ分析環境を作成します。
今回はpart4になります。
分析ユーザに対して、Jupyter NotebookだけではなくSSH接続も許可しましょう。
ユーザが接続を簡単に行えるよう、パスワード認証でSSHできるように設定を行います。

EC2の設定変更

こちらの記事を参考に設定を行います。
SSH を使用して EC2 インスタンスにログインするときに、キーペアの代わりにパスワードログインを有効にする方法を教えてください。

1.SSH クライアントから、EC2 インスタンスにログインします。

Teratermec2-userへSSHログインします。

2.ユーザーのパスワードを設定します。

SSHに使用するOSユーザはすでにパスワードを設定済みです。
(JupyterHubへユーザ登録する際にOSユーザを作成しており、その際に併せてパスワード設定を行っています。)

3.次のように、/etc/ssh/sshd_config ファイルの PasswordAuthentication パラメータを更新します。

(base) [root@ip-10-0-0-137 ~]# vim /etc/ssh/sshd_config
(base) [root@ip-10-0-0-137 ~]# cat /etc/ssh/sshd_config | grep Password
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication, then enable this but set PasswordAuthentication

4.SSH サービスを再起動します。

(base) [root@ip-10-0-0-137 ~]# service sshd restart
Redirecting to /bin/systemctl restart sshd.service

5.SSH クライアントを終了し、ログインしてパスワード認証をテストします。

これで設定は完了です。
簡単ですね。

SSHを試す

実際にSSHしてみます。
クライアントはTeraTermです。

f:id:vdnih:20200216222305p:plain

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[vdnih@ip-10-0-0-137 ~]$

ログインに成功しました。

セキュリティグループの設定

今回作成している環境ではIPアドレスによってアクセス元の制限をしており、
分析ユーザがログインするためには、セキュリティグループで22ポートへのアクセスを許可する必要があります。
※自宅からのSSHアクセスはあらかじめ許可しています。

なお、IPアドレスによってアクセス制限を行うことは先ほどの記事の中でも推奨されています。

注意: キーペア認証ではなくパスワードベースのログインを使用すると、セキュリティに影響があります。 したがって、パスワードベースのログインは推奨されません。 また、SSH 攻撃を防ぐために、インスタンスに関連付けられているセキュリティグループルールの ソース IP アドレスを最小化することをお勧めします。

スクリーンショットの掲載は省きますが、各分析ユーザのIPアドレスから22ポートへのインバウンド通信を許可する設定を行いました。

おわり

次回はDBの作成や接続について設定を開始したいと考えています。
もしくは、分析ユーザ向けの学習教材の作成を行うかもしれません。
やりたいことはたくさんありますが、なかなか作業が進みませんね...
もっと技術力がほしいです。