- [情報技術] Kerberos認証とSSH
 
			- RapberryPi3B+(Raspbian)にKerberosを入れて、同じRPi3B+のSSHサーバーをケルベロス化しました。その上で、他のPC(Ubuntu)からKerberos認証でログインできるようにしました。
 
			
 
			- ●RPi3B+にインストール
 
			$ sudo apt install krb5-admin-server krb5-kdc
 
			
 
			- ●Kerberosの設定(レルムの設定)
 
			- 
				
					- 設定ファイル `/etc/krb5.conf` を管理者権限で開き、ホスト名を設定します。すでに書かれている設定をしばらく眺めていれば、どういうものかがわかります。
 
					- 設定ファイル `/etc/krb5kdc/kdc.conf` を管理者権限で開き、realmを設定。
 
				
			 
			
 
			- ●データベース作成
 
			$ kdb5_util create -s 
 
			
 
			- ●プリンシパル作成(ユーザー&サービス)
 
			$ sudo kadmin.local
kadmin.local: addprinc ユーザー名
kadmin.local: addprinc -nokey host/完全修飾ドメイン名
 
			- ユーザー・プリンシパルを作成すると、パスワードを作るように求められます。クライアントで kinit をする際に必要となりますので、パスワードを覚えていてください。
 
			
 
			- ●Kerberosデータベースにサービスプリンシパルを登録
 
			$ sudo kadmin.local
kadmin.local: ktadd host/完全修飾ドメイン名
 
			
 
			- ●Kerberosデータベースに登録されたか確認
 
			$ klist -ke
 
			
 
			- ●サービスを再起動
 
			$ service krb5-kdc restart
$ service ssh restart
 
			
 
			- ●クライアントでSSH設定
 
			$ vi /etc/ssh/ssh_config
 
			- KerberosとGSSAPIを使うようにコメントアウトを外してください。
 
			
 
			- ●クライアントでキー取得
 
			$ kinit ユーザー名
 
			
 
			- ●クライアントからSSH接続
 
			$ ssh -v ユーザー名@完全修飾ドメイン名
 
			
 
			- パスワード入力なしでログインできれば成功です。
 
			- もしパスワード入力を求められたら、Kerberos認証が失敗していますので、SSH接続ログを確認してください。エラーメッセージを見られます。
 
			
 
			- ここに書いてある情報はKerberosの至極一部です。詳しくは公式ドキュメントをご覧ください。公式サイトもあります。
 
			
 
			- ●追記
 
			- Kerberosの設定とデータベースの作成は
 
			$ krb5_newrealm
 
			- で一気にできます。
 
			- 2020-06-09 (Tue) by Canaid SK