OpenLDAPクライアント(CentOS7)からOpenLDAPクライアント(CentOS7)へsshログイン

投稿者: | 2017年12月20日

10.LDAPユーザでsshログインではWindows端末のteratermからldapユーザでsshログインを行う方法だったが、linuxのldapクライアントからlinuxのldapクライアントへのsshログインもできる。

上図は、サーバB(ldapクライアント)から、サーバC(ldapクライアント)へsshログインする例。

サーバC(ldapクライアント)環境要件

設定項目 設定内容 備考
ホスト名 ldapclient2
IPアドレス 192.168.3.8/24 内部環境のためクラスCアドレス
ゲートウェイ 192.168.3.1
ネームサーバ 192.168.3.1 自宅のHGWなのでゲートウェイと同じ

■前提条件

前提条件というほど大したものではないが、
・サーバAのldapサーバの構築が終わっていること。
⇒ldapユーザでsshログインするから当然か。。。
・サーバBとCのldapクライアント構築が終わっていること。
9.OpenLDAPクライアントのインストールと、10.LDAPユーザでsshログインの/etc/sudoers設定が必要。


■ssh秘密鍵の格納

10.LDAPユーザでsshログインはwindows端末がssh秘密鍵を使って、ldapクライアントへsshログインしている。ここで大事なのはログイン元となるwindows端末がssh秘密鍵を持っているということだ。
したがって、上図のログイン元となるサーバBもssh秘密鍵を持っている必要がある。

6.OpenLDAPサーバの構築⑥ -LDAPユーザにssh鍵認証設定で生成したssh秘密鍵「id_ed25519」を、以下の手順でサーバBへ転送する。

①windows端末からteratermでサーバBへ、sshログインする。
・ログインユーザはrootでもldapユーザでもよいが、後述のssh秘密鍵をホームディレクトリに格納する観点から、ここではldapユーザでログインすることにする。ldapユーザでログインする場合は5.OpenLDAPサーバの構築⑤ -LDAPユーザの設定で設定したuid=user01を使用する。下図のユーザ名が「user01」となる。
・ldapユーザでログインする場合はパスフレーズと秘密鍵も必要。パスフレーズは6.OpenLDAPサーバの構築⑥ -LDAPユーザにssh鍵認証設定で設定したパスフレーズ「sshmanager」を入力する。そのあと秘密鍵ボタンをクリックし、6.OpenLDAPサーバの構築⑥ -LDAPユーザにssh鍵認証設定で生成したssh秘密鍵「id_ed25519」を選択する。
・上記の入力が終わったらOKボタンをクリックする。


↓↓↓↓↓↓↓↓↓↓

プロンプトが表示されればOK。

②ホームディレクトリに.sshディレクトリを作成し、アクセス権限を700に設定する。

[user01@ldapclient1 ~]$ pwd
/home/user01
[user01@ldapclient1 ~]$ mkdir .ssh
[user01@ldapclient1 ~]$ chmod 700 .ssh
[user01@ldapclient1 ~]$ ls -lart
合計 16
drwxr-xr-x. 3 root   root         20 12月 19 22:47 ..
-rw-------. 1 user01 ldapmanager  18 12月 19 22:47 .bash_logout
-rw-------. 1 user01 ldapmanager 231 12月 19 22:47 .bashrc
-rw-------. 1 user01 ldapmanager 193 12月 19 22:47 .bash_profile
-rw-------. 1 user01 ldapmanager  21 12月 19 22:48 .bash_history
drwx------. 2 user01 ldapmanager   6 12月 20 21:24 .ssh
drwx------. 3 user01 ldapmanager  95 12月 20 21:24 .

ホームディレクトリは/home/<ユーザ名>となるので、pwdコマンドで確認したディレクトリが「/home/user01」となっていればOK。その配下に.sshディレクトリを作成すること。

③ssh秘密鍵「id_ed25519」を、②のteraterm画面へドラッグする。

⇒以下の図のように、SCPする場所を聞かれるので、フルパスで入力しSCPボタンをクリックしてファイル転送を行う。

フルパスは②で作成した.ssh配下へssh秘密鍵を格納するように、「/home/user01/.ssh」と記述する。

④ ②のteraterm画面でlsコマンドを実行し、.sshディレクトリ配下にssh秘密鍵が転送されたことを確認する。

[user01@ldapclient1 ~]$ cd .ssh
[user01@ldapclient1 .ssh]$ ls -lrt
合計 4
-rw-r--r--. 1 user01 ldapmanager 464 12月  9 18:25 id_ed25519

実は秘密鍵も公開鍵と同様に、アクセス権限が開きすぎていると使えない。そのため、転送した秘密鍵もアクセス権限を600に変更する必要がある。

⑤ ④のssh秘密鍵のアクセス権を、chmodコマンドで600に変更する。

[user01@ldapclient1 .ssh]$ chmod 600 id_ed25519
[user01@ldapclient1 .ssh]$ ls -lart
合計 8
-rw-------. 1 user01 ldapmanager 464 12月  9 18:25 id_ed25519

■サーバB⇒サーバCへsshログイン

ssh秘密鍵の格納が終わったら、いよいよサーバB⇒サーバCへsshログイン。

[user01@ldapclient1 .ssh]$ ssh 192.168.3.8
Enter passphrase for key '/home/user01/.ssh/id_ed25519':
Last login: Wed Dec 20 21:27:34 2017 from 192.168.3.7
[user01@ldapclient2 ~]$

「Enter passphrase for key ‘/home/user01/.ssh/id_ed25519’:」というプロンプトが表示されれば、パスフレーズを入力してログインできる。ログイン後のプロンプトが「<ldapユーザ名>@<サーバCのホスト名>」になっており、無事にsshログインできた!

ためしにsudoコマンドで適当にコマンドをたたいてみる。

[user01@ldapclient2 ~]$ sudo systemctl status sssd

あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:

    #1) 他人のプライバシーを尊重すること。
    #2) タイプする前に考えること。
    #3) 大いなる力には大いなる責任が伴うこと。

パスワード:
 sssd.service - System Security Services Daemon
   Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/sssd.service.d
           mqjournal.conf
   Active: active (running) since 水 2017-12-20 21:06:41 JST; 2h 6min ago
 Main PID: 14492 (sssd)
   CGroup: /system.slice/sssd.service
           tq14492 /usr/sbin/sssd -i -f
           tq14493 /usr/libexec/sssd/sssd_be --domain default --uid 0 --gid 0...
           tq14494 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --debug-to-file...
           tq14495 /usr/libexec/sssd/sssd_sudo --uid 0 --gid 0 --debug-to-fil...
           tq14496 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-file...
           mq14497 /usr/libexec/sssd/sssd_ssh --uid 0 --gid 0 --debug-to-file...

12月 20 21:06:40 ldapclient2 systemd[1]: Starting System Security Services ....
12月 20 21:06:40 ldapclient2 sssd[14492]: Starting up
12月 20 21:06:40 ldapclient2 sssd[be[default]][14493]: Starting up
12月 20 21:06:40 ldapclient2 sssd[sudo][14495]: Starting up
12月 20 21:06:40 ldapclient2 sssd[pam][14496]: Starting up
12月 20 21:06:41 ldapclient2 sssd[ssh][14497]: Starting up
12月 20 21:06:41 ldapclient2 sssd[nss][14494]: Starting up
12月 20 21:06:41 ldapclient2 systemd[1]: Started System Security Services D....
Hint: Some lines were ellipsized, use -l to show in full.

初回sudoなので日本語で注意文が表示されるが気にせず。sudoで聞かれるパスワードは5.OpenLDAPサーバの構築⑤ -LDAPユーザの設定のuserPassword属性で設定した「ldapuser01」を入力する。ssh鍵認証のパスフレーズではないので注意すること。

これでサーバB(ldapクライアント)からサーバC(ldapクライアント)へsshログインは完了!

コメントを残す

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

CAPTCHA