Linux ログインをAzureADで認証する!!

Linuxサーバーへのログイン認証を「AzureAD」でやってみたいと思います。当然、AzureADで認証するので、多要素認証も利用できます!!

※こちらを「Azure AD 認証でLinuxへログイン!!」オススメします。


それでは、やってみよ~

先ずは、AzureADでアプリケーションを作成します。
※事前にLinux認証用のディレクトリを作成すると良いでしょう。

名前:表示名
アプリケーションの種類:ネイティブを選択
リダイレクトURL:トップレベルドメイン必須

作成したアプリケーションの[アプリケーションID]をコピーしておきます。

Linuxサーバーへのログインを許可するユーザーを作成します。
※仮パスワードが発行されるので、一度ポータルへログインしパスワードを変更して下さい。


これで下準備が整いました。
ここからは、Linuxサーバーでの作業になります。
※今回は OpenLogic (CentOS)を利用しています。

~ここから、スタート~

$ sudo su –

# vi /etc/selinux/config
~省略~
SELINUX=disabled
~省略~

# setenforce 0

# yum install -y epel-release

# yum install -y npm nodejs git

# git clone https://github.com/bureado/aad-login

# cd aad-login/

# mkdir -p /opt/aad-login

# cp aad-login.js package.json /opt/aad-login/

# cp aad-login /usr/local/bin/

# cd /opt/aad-login/

# npm install

# vi aad-login.js
~省略~
// Configuration parameters
var directory = ‘tushigamiAzureAD01.onmicrosoft.com‘;
↑認証用ユーザーを作成したAzureADディレクトリを指定
var clientid = ‘2a029c0c-0ff0-4147-ae27-b7a50837f736‘;
↑AzureADで作成したアプリケーションのID
~省略~

# vi /etc/pam.d/sshd
#%PAM-1.0
auth sufficient pam_exec.so expose_authtok /usr/local/bin/aad-login ←このまま追記
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
~省略~

# useradd LinuxUser ←AzureADで作成したユーザーを作成

これで完了です!!


それでは、Teratermで接続してみましょう!

AzureADで作成した、ユーザー&パスワードを使いログインします。