Apache Spark SSH ユーザーの追加 (パスワード認証、パスワードなし認証) No.56

今回は Spark の環境で SSH User の作成方法を案内します。

2 通りあります。1 つはパスワードで認証するユーザーを利用する方法。2 つめはパスワードなしの公開鍵で認証する方法となります。

▼1. SSH とは

Secure Shell Protocol (SSH) は、暗号ネットワークプロトコルで、セキュアでないネットワーク間のネットワークサービスの操作を安全に行うことができます。主に、リモートログインや、コマンドの実行に利用されます。ユーザー認証にはパスワードを利用した方法、公開鍵を利用した公開鍵認証などあります。 参考情報 Secure Shell – Wikipedia


▼2. 事前準備

Apache Spark クラスターを作成します。詳細は以下。
Apache Spark インストール – 3 ノード No.29


▼3. SSH での接続

2 通りの SSH の接続方法を紹介します。 

  1. パスワードでの接続
  2. パスワードなし公開鍵の接続

3-1. パスワードでの接続

3-1-1. グループ追加​

グループ名 testgroup

sudo groupadd testgroup​

3-1-2. ユーザーを追加​

ユーザー名 testusera,-g でグループを指定します。 -m はユーザーのフォルダを作成するために指定しています。

sudo useradd testusera -g testgroup -m

3-1-3. ユーザパスワード変更​

暗号化したパスワードを生成し指定するため openssl を使っています。

PASS=yourpassword
sudo usermod --password $(echo $PASS | openssl passwd -1 -stdin) testusera

3-1-4. 作成したユーザーを確認

Id testusera

id_command

3-1-5. .ssh フォルダの作成

sudo mkdir /home/testusera/.ssh
sudo chown -R testusera /home/testusera/.ssh

3-1-6. 1-1 から 1-5 を他のマシンでも実施

今回の Saprk の環境では namenode 1 台と datanode 2 台の、トータル 3 台でユーザーを作成しました。

3-1-7. sshで接続テスト

192.168.1.1 に接続

ssh testusera@192.168.1.1

3-2. パスワードなし公開鍵の接続

3-2-1. SSH の秘密鍵、公開鍵を生成するコマンドを実行

複数のユーザーの鍵を生成するためファイル名を指定します。以下のコマンドではtestusera_wn1_ras.pub や testusera_wn1_rsa のファイルが生成されます。

ssh-keygen -f .ssh/testuserb_wn1_rsa
ssh-keygen
$ ssh-keygen -f .ssh/testuserb_wn1_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in .ssh/testuserb_wn1_rsa
Your public key has been saved in .ssh/testuserb_wn1_rsa.pub
The key fingerprint is:
xxxx xxx@xxx
The key's randomart image is:
+---[RSA 3072]----+
|  .o. .          |
| ....+ .         |
|*.= + = .        |
|*O E + *         |
|o=B B * S        |
|+o X + o         |
|o o + o       |
|     * +         |
|    o.Bo.        |
+----[SHA256]-----+

3-2-2. 生成した公開鍵を接続先にコピー

ユーザー名 testusera, 接続先のマシンの IP Address 192.168.1.2 の場合

ssh-copy-id -i .ssh/testuserb_wn1_rsa.pub testuserb@192.168.1.2 -f
ssh-copy-id
$ ssh-copy-id -i .ssh/testuserb_wn1_rsa.pub testuserb@192.168.1.2 -f
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/testuserb_wn1_rsa.pub"
testuserb@192.168.1.2's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'testuserb@192.168.1.2'"
and check to make sure that only the key(s) you wanted were added.

3-2-3. 公開鍵を生成したマシンに戻り、ssh でログインしパスワードなしでログインできるか確認

ユーザー名 testusera, 接続先のマシンの IP Address 192.168.1.1 の場合

ssh testusera@192.168.1.1

3-2-4.  2-1 から 2-3 を他のマシンでも実施


▼4. 参考情報

以上です。参考になりましたら幸いです。



コメントを残す

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