2016-08-30 4 views
1

自分のマシンにログインするためのパスワード/パスフレーズを同期化し、sshキーファイル(~/.ssh/id_rsaman ssh-keygenを参照)のロックを解除してください。 ログインすると、ローカルマシンアカウントにアクセスするためにパスワードを1回入力し、ボーナスとしてsshキーファイルもロック解除されます。kinitがログイン時にチケットを取得するためのマシンパスワードを使用するログインスクリプト

また、同じパスワードを使用するケルベロス認証を自動化したいと思います。 は基本的に、私は私の '〜/ .bash_profile`でこれを置くのと同等の効果を達成するための安全な方法をしたい:

# PASSWORD SHOULD NEVER BE HARDCODED - FOR EXPLANATION PURPOSE ONLY 
PASSWORD="qwerty" # NEVER DO THIS!!! 
echo "$PASSWORD" | kinit -u $KRBUSR 

任意の提案ですか?キーファイルのロック解除方法についての洞察?

+0

* "keyfile" *とはどういう意味ですか?デフォルトのチケットキャッシュ? –

+0

@SamsonScharfrichter私はopensshによって生成された私の秘密鍵を保持しているファイルを意味します。テキストが更新されました。 – kidmose

答えて

3

あなたの質問はthat oneの重複としてタグ付けすることができますが、のは、明確な声明から始めましょう、残りの混乱を避けるために:スクリプト内のINTERACTIVEパスワードの入力をシミュレートすることPURE EVILです。

さらに、は自動的にKerberosチケットを作成するための適切な方法があります。たとえば、起動時にLinuxサービスを認証するために使用できます。

  • ステップ0:KDCとの取り決めされている暗号化アルゴリズム(複数可)を一覧表示するklist -eを実行します - 例えば、 "AES256-CTS-HMAC-SHA1-96" と "ARCFOUR-HMAC"
    NB :そのレガシーARC4は不潔、まだ多くの企業のActive Directoryディレクトリ内の合法的である
  • ステップ1:、ktutil(チュートリアル例えばhere)で、あなたのプリンシパルのkeytabファイルを作成し、暗号化アルゴリズム
  • ステップ2ごとに1つのエントリを追加します:キータブファイルの作成直後にアクセスを制限するチケットの更新を要求するために、あなたが定期的にkinit -Rを実行することができます。パスワードを入力せずに認証するためにkinit -kt <path/to/keytab_file> <[email protected]>を使用
  • ステップ4:chmodを持つファイルへは、そうでない場合は誰もが
  • ステップ3「あなたのKerberosアイデンティティを盗む」ために、ファイルを使用することができます


(下記参照)、それはまだ満了していないことを、あなたが再生可能なチケットを持っていることを提供し、あなたが最大の再生可能限界に達しなかったこと - (その更新は、パスワードを必要としません)サイドノート:で使用されている暗号化アルゴは/etc/krb5.confpermitted_enctypesおよびdefault_tkt_enctypesおよびdefault_tgs_enctypesの設定と一致しますが、Kerberosサーバ(KDC)がこれらのアルゴリズムを受け入れることが条件です。

サイドノート:kinitによって作成されたチケットはticket_lifetime/etc/krb5.confで構成された寿命を持っているが - それはKDCの上限(通常は10H)を超えないことを条件とします。
更新可能な寿命はrenew_lifetime〜などです。(ゼロ寿命はチケットが再生不能としてマークされることを意味する)


ところで、あなたのLinuxボックスは、Active Directoryに裏打ちされたSSSD認証を使用している場合、あなたは自動作成&更新を有効にすることができます以下のような性質を持つあなたのKerberosチケットの

ldap_krb5_init_creds = True 
krb5_ccname_template = FILE:/tmp/krb5cc_%U 
krb5_lifetime   = 86400 
krb5_renewable_lifetime = 604800 
krb5_renew_interval  = 7200 
+0

スニペットが私の目標を説明することであることを明確にしていないのは残念です。私はケルベロスとやりとりしたくないです。認証はバックグラウンドで行われるべきです。それに応じて更新。 – kidmose

+0

私は重複についてのあなたの提案に同意しません:私の質問は異なっています(私が頭の中で少なくとも持っていたもの..これは私が質問を編集したので、これはもっと明白かもしれません)。しかし、解決策は同じです。それでもなお私はhttp://unix.stackexchange.com/questions/12021/automatic-kerberos-ticket-initialization-on-loginがより良い品質であると言いたいので、参考にする必要があります – kidmose

+0

更新寿命が必要ではないでしょうか今私には、ステップ1を繰り返しますか?それで、あなたの解決策は、認証の難しさと実行頻度との間のトレードを提供するだけです。それはログインするために入力されたパスワードを再利用し、sshキーをロック解除することによって認証ステップを排除しません。 – kidmose

関連する問題