Her şeyden önce, RedHat (ve varyantları) OpenSSH için AuthorizedKeysCommand
ve AuthorizedKeysCommandRunAs
seçeneklerini ekleyen desteklenen bir yamaya sahiptir . Yama, opensh 6.2'de yukarı doğru birleştirildi. Man sayfasından alıntı yapmak için :
AuthorizedKeysCommand
Kullanıcının ortak anahtarlarını aramak için kullanılacak bir programı belirtir. Program ilk argümanı ile yetkilendirilen kullanıcının adı ile çağrılır ve standart çıktı AuthorizedKeys satırlarında üretmelidir (bkz. Sshd'de AUTHORIZED_KEYS (8)). Varsayılan olarak (veya boş dizeye ayarlandığında) AuthorizedKeysCommand çalıştırması yoktur. AuthorizedKeysCommand kullanıcıyı başarıyla yetkilendirmezse, yetkilendirme AuthorizedKeysFile dosyasına düşer. Bu seçeneğin yalnızca PubkeyAuthentication açıkken etkili olduğunu unutmayın.
AuthorizedKeysCommandRunAs
AuthorizedKeysCommand hesabının altında çalıştığı kullanıcıyı belirtir. Boş dize (varsayılan değer), yetkilendirilen kullanıcının kullanıldığı anlamına gelir.
Bu gece yaptığım deneylerde, kutunun dışında, varsayılan SELinux politikaları nedeniyle bunun işe yaramadığını buldum. SELinux zorlamasını kapatarak bu sorunu çözebilirsiniz setenforce 0
. SELinux'u çevirmek muhtemelen kötü bir fikir olduğundan, bunun yerine doğru politikayı oluşturabilirsiniz. Benim durumumda, bu ayarlanmış ve sonra seçeneği ile giriş yapmaya çalışmak kadar basitti . Bu temel olarak denetim günlüklerini inceler ve önlenen şeyleri bulur ve bunlar için istisnalar oluşturur. Orada beyaz listeye eklenebilecek başka şeyler varsa, muhtemelen yeni politikaları doğru şekilde aldığınızdan emin olmak için daha fazla bilgi edinmelisiniz .AuthorizedKeysCommand
/etc/ssh/sshd_config
audit2allow -a -M local && semodule -i local.pp
audit2allow