NISサーバー系



アカウントの追加

client (gateway) とserverの関係は以下のとおり。
 client: NISクライアント
 server: NISサーバ
このとき、新たに学生のアカウント(ユーザ名:dummy)を追加する方法を述べる。

管理者による設定(前半)

#serverへのユーザ追加

serverにログインしrootになる。
新しいユーザdummyを追加する。グループはstudentにする。
useradd -d /home/dummy -g student dummy
ユーザdummyのパスワードを設定する。
yppasswd dummy
その後、NISサーバアカウントの更新を反映させる。
cd /var/yp
make

#clientへのユーザ反映

clientにログインしrootになる。
NISサーバを参照しているクライアントに設定を反映させる。
/etc/init.d/ypbind restart

#パスワード認証の一時的な許可

clientにログインしrootになる。
/etc/ssh/sshd_config のファイルにある
PasswordAuthentication no
の箇所を
PasswordAuthentication yes
に編集する。その後、sshdを再起動する。
/etc/init.d/sshd restart
これで、clientへのパスワード認証が許可される。

ユーザによる設定(秘密鍵・公開鍵作成)

#clientでの作業(前半)

ユーザdummyのパスワードを用いてclientにログインする。
ssh-keygen -t rsa
と打ち込み、秘密鍵・公開鍵を作成する。
すると、以下のように表示されるはず。
[dummy@client ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dummy/.ssh/id_rsa): (ここはエンターキーを押す)
Created directory '/home/dummy/.ssh'.
Enter passphrase (empty for no passphrase): (秘密鍵を暗号化するためのパスフレーズを入れる)
Enter same passphrase again: 
Your identification has been saved in /home/dummy/.ssh/id_rsa.
Your public key has been saved in /home/dummy/.ssh/id_rsa.pub.
The key fingerprint is:
************
この自分で設定した「秘密鍵を暗号化するためのパスフレーズ」は覚えておく。
その後、公開鍵(id_rsa.pub)を登録して、秘密鍵(id_rsa)を手元に転送する。
client上の秘密鍵(id_rsa)は後で削除する。
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
一応、ls -laなどをして、ディレクトリ・ファイルの権限が下記の値以下になっていることを確認する。
~/.ssh: 700 
~/.ssh/id_rsa: 600
~/.ssh/id_rsa.pub: 644
~/.ssh/authorized_keys: 644

#localでの作業

scpなどで秘密鍵(id_rsa)を手元に転送し、~/.ssh に保存する。
scp -r dummy@client:~/.ssh/id_rsa ~/.ssh/.
一応、ls -laなどをして、ディレクトリ・ファイルの権限が下記の値以下になっていることを確認する。
~/.ssh: 700 
~/.ssh/id_rsa: 600
その後、RSA認証でclientにログインできるか確認する。
ssh -Y dummy@client
"Are you sure you want to continue connecting (yes/no)?" と聞かれたら
yes
と打ち込んでエンターを押す。その後、「秘密鍵を暗号化するためのパスフレーズ」を入力する。

#clientでの作業(後半)

ログインできたら、client上のid_rsaを削除する。
rm ~/.ssh/id_rsa
その後、ユーザdummyのパスワードを用いてserverにログインし、ユーザdummyのパスワードを変更する。
yppasswd
serverをログアウトした後、新しいパスワードでclientからserverにログインできることを確認する。
なお、既に別のid_rsaファイルが存在するときは、
ファイルの名前を適切に変えて、-iオプションで鍵ファイルを指定すればよい。
ssh -i ~/.ssh/id_rsa.other dummy@other

管理者による設定(後半)

#パスワード認証の不許可

clientにログインしrootになる。
/etc/ssh/sshd_config のファイルにある
PasswordAuthentication yes
の箇所を
PasswordAuthentication no
に編集する。その後、sshdを再起動する。
/etc/init.d/sshd restart
これで、clientへのパスワード認証が禁止される。

アカウントの削除

学生のアカウント(ユーザ名:dummy)を削除する方法を述べる。

管理者による設定

#serverからのユーザ削除

serverにログインしrootになる。
ユーザdummyを削除する。このとき、ホーム・ディレクトリも削除する(-rを指定)。
userdel -r dummy
NISサーバアカウントの更新を反映させる。(もしかしたら、この作業は不要かも?)
cd /var/yp
make

#clientへのユーザ削除反映

clientにログインしrootになる。
NISサーバを参照しているクライアントに設定を反映させる。(もしかしたら、この作業は不要かも?)
/etc/init.d/ypbind restart

ユーザによる設定

#localでの作業

ユーザ名dummyに対応する ~/.ssh/id_rsa を削除する。

その他の注意事項

管理者による設定

#serverでyppasswdできるようにするための設定

/etc/sysconfig/yppasswdd の ETCDIR を設定する。
(コメントアウトを外すだけでよい。)
ETCDIR=/etc
その後、ypserverとyppasswddを再起動する。
/etc/init.d/ypserv restart
/etc/init.d/yppasswdd restart
これで、yppasswdが使えるようになる。

#client, serverの立ち上げ順序

clientを先に立ち上げると、serverのサーバからアカウントの情報が読み込まれない。
clientよりもserverを先に起動する必要がある。
(NISサーバーはNISクライアントよりも先に起動する必要がある。)

ユーザによる設定

#MacユーザがRSA認証に何度も失敗する場合

キーチェーンに古いパスフレーズが残ってないか確認しよう。


最終更新:2012年01月19日 02:34