kerberos 認證方式-主機認證
業務系統常有這樣的需求,從a機器連b機器,即ssh的方式遠程調用b機器上得腳本或者命令,每次都要輸入用戶名和密碼,很麻煩
把密碼寫進腳本里,人員變動之後還要改密碼,這個非常麻煩,爲了解決這個問題,使用kerborse認證的方式能不能也實現類似ssh免密碼登陸那樣的功能呢!
下面就介紹一下怎麼做,一共只有兩步:
1、目標機器改k5login
a機器希望連接b機器,那麼需要在目標機器即b服務器某個賬號下(比如root賬號)的.k5login中添加a機器識別,例如,添加:
host/[email protected],這裏必須注意的是“host/”是固定格式,斜槓後面的必須是hostname,而不能是ip,並且必須把大寫字母改成小寫。
機器名獲得方法:執行hostname命令就行了,然後把大寫字母改成小寫。
2、在a機器上的你希望執行的腳本里加上一段命令
#!/bin/bash
export PATH="/usr/kerberos/bin:$PATH"#注意,這裏前提是這臺機器上已經部署了kerborse,這裏是把kerborse的命令加到環境變量裏。
kinit -k -t /etc/krb5.keytab#一般來講,/etc/下有krb5.keytab,但是如果你是a機器上的普通用戶,你有可能不能訪問這個東西,所以解決辦法是
複製一份放到你想要存放的路徑,然後執行kinit -k -t /yourpath/krb5.keytab
這樣,我們就能在下面寫訪問b機器的命令了
具體例子:10.4.16.136想要無密碼訪問10.4.19.87
在10.4.19.87的root賬戶下的.k5login中添加
在10.4.16.136上編寫腳本:
這樣就能正常執行了。
更多請參考http://blog.csdn.net/guoqiangma/article/category/2177301