2016-06-09 39 views
1

我有一個加密的keytab,我正在解密,將它寫入磁盤然後用它與kinit一起使用。Bash腳本使用keytab而不寫入磁盤

我想要做的是能夠使用keytab而不寫入磁盤,只需解密並直接使用它與kinit。這裏是我的腳本到目前爲止,但我得到
的kinit:密鑰表文件「/etc/krb5.keytab的」未找到同時獲得初始憑證

#!/bin/bash 
#$KEYTAB = gpg --decrypt keytab.gpg 
$KEYTAB=keytab 
kinit -k $KEYTAB [email protected] 

我也正在嘗試與管道

gpg --decrypt keytab.gpg | kinit -k [email protected] 

但這也不起作用。

+0

嗯,在我的kinit手冊頁,-k'與描述的選項':「同爲--keytab,但默認密鑰表名(通常是文件中:在/ etc/krb5的。密鑰表)。」你可能想嘗試'gpg --decrypt keytab.gpg | .kinit -k -t - ...'但我不太自信,因爲這解決了這個問題。 – Dilettant

+0

由於評論編輯只允許5分鐘,所以我在這裏修改:建議用'-'替換文件名,並通過'-S ...'選項將'principal @ realm'信息提取到過程中。 – Dilettant

+0

'$ KEYTAB = keytab'應該是'KEYTAB = keytab'。 – chepner

回答

0

只要使用kinit剛剛讀取文件,使用的/ dev /標準輸入

gpg --decrypt keytab.gpg | kinit -k /dev/stdin [email protected] 

與另一程序

echo foo | cat /dev/stdin 
+0

它是不要求我輸入密碼來解密keytab.gpg ...並且它看起來並不像echo keytab | kinit -k/dev/stdin principal @ realm或echo keytab | kinit -k -t/dev/stdin principal @ realm不工作 – OrigamiEye

+0

我不知道爲什麼。我創建了一個gpg文件,並要求輸入密碼:'gpg -d x.gpg | cat/dev/stdin' – RTLinuxSW

+0

我嘗試了幾次,最後得到的結果是'kinit:Keytab在使用gpg獲取初始憑證時沒有合適的principal @ realm鍵--decrypt keytab.gpg | kinit -k -t/dev/stdin principal @ realm' – OrigamiEye