想定環境
- KDCサーバ:
kdc0.example.com - SSHサーバ:
krb-client0.example.com - SSHクライアント:
krb-client1.example.com
ユーザーはkrb-client1からkrb-client0にSSH接続したい。
KDCサーバ(kdc0.example.com)のセットアップ
-
必要なパッケージをインストールする。
user@kdc0:~$ sudo apt update user@kdc0:~$ sudo apt install -y krb5-kdc krb5-admin-server -
新しいrealmsを作成する。
user@kdc0:~$ sudo krb5_newrealm -
/etc/krb5.confを編集する。user@kdc0:~$ sudo vim /etc/krb5.conf[libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = false kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true rdns = false fcc-mit-ticketflags = true [realms] EXAMPLE.COM = { kdc = kdc0.example.com admin_server = kdc0.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM -
サービスを開始する。
user@kdc0:~$ sudo systemctl restart krb5-kdc user@kdc0:~$ sudo systemctl restart krb5-admin-server user@kdc0:~$ sudo systemctl enable krb5-kdc user@kdc0:~$ sudo systemctl enable krb5-admin-server -
userユーザーを追加する。user@kdc0:~$ sudo kadmin.local kadmin.local: addprinc user kadmin.local: exit -
krb-client0.example.com用のkeytabファイルを生成するuser@kdc0:~$ sudo kadmin.local kadmin.local: addprinc -randkey host/krb-client0.example.com kadmin.local: ktadd -k /tmp/krb-client0.keytab host/krb-client0.example.com kadmin.local: quit -
keytabファイルをkrb-client0.example.comへ転送する。user@kdc0:~$ scp /tmp/krb-client0.keytab krb-client0.example.com:/tmp/
sshサーバ(krb-client0)のセットアップ
-
必要なパッケージをインストールする。
user@krb-client0:~$ sudo apt update user@krb-client0:~$ sudo apt install krb5-user -
/etc/krb5.keytabに適切なパーミッションを与える。user@krb-client0:~$ sudo mv /tmp/krb-client0.keytab /etc/krb5.keytab user@krb-client0:~$ sudo chown root:root /etc/krb5.keytab user@krb-client0:~$ sudo chmod 600 /etc/krb5.keytab -
/etc/krb5.confを編集する。user@krb-client0:~$ sudo vim /etc/krb5.conf[libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = false [realms] EXAMPLE.COM = { kdc = kdc0.example.com admin_server = kdc0.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM
sshクライアント(krb-client1)のセットアップ
-
必要なパッケージをインストールする。
user@krb-client1:~$ sudo apt update user@krb-client1:~$ sudo apt install krb5-user -
/etc/krb5.confを編集する。user@krb-client1:~$ sudo vim /etc/krb5.conf[libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = false [realms] EXAMPLE.COM = { kdc = kdc0.example.com admin_server = kdc0.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM -
ssh接続をテストする。
user@krb-client1:~$ ssh -o GSSAPIAuthentication=yes [email protected]