web-dev-qa-db-ja.com

ローカルユーザーなしでOpenSSHサーバーを使用する

現在、PAMでOpenSSHサーバーを使用しているときに気づきました。たとえば、RADIUSユーザーにPAMで正常に認証させることはできますが、/ etc/passwdにローカルユーザーアカウントが必要です。たとえば、ボックスにuseraddを追加します。

ローカルユーザーが/ etc/passwdである必要がないという、OpenSSHの設定はありますか。代わりに、シェル/ホームディレクトリ/セッションはデフォルト設定で初期化されますか?私はこれをオンラインで行う方法を見つけることができませんでした。

2

/etc/nsswitch.confの構成は、ユーザーが検索される順序を設定します。 getent passwd $USERでユーザーの解決方法を確認できます。ログインするためにユーザーがローカルアカウントを持っている必要はありません。 /etc/nsswitch.confpasswdおよびgroupデータベースをldap、nis、および/またはsssにバインドし、スタック内の適切なPAMモジュールを使用します。

[〜#〜] sssd [〜#〜] および freeIPA を使用するユースケース。ここには、ユーザー、グループ、ログインシェル、Sudoルール、SELinuxマッピングなどが保存されます。 freeIPAによって管理されているディレクトリ内。 SSHDはGSSAPIを使用して、データベースがディレクトリにも保存されているKerberosに対して認証することに注意してください。


 # cat /etc/krb5.conf
 [logging]
  default = FILE:/var/log/krb5libs.log
  kdc = FILE:/var/log/krb5kdc.log
  admin_server = FILE:/var/log/kadmind.log
 [libdefaults]
  default_realm = DOMAIN.COM
  dns_lookup_realm = false
  dns_lookup_kdc = true
  rdns = false
  ticket_lifetime = 24h
  forwardable = yes
 [realms]
  DOMAIN.COM = {
   kdc = ipaserver.domain.com:88
   master_kdc = ipaserver.domain.com:88
   admin_server = ipaserver.domain.com:749
   default_domain = domain.com
   pkinit_anchors = FILE:/etc/ipa/ca.crt
 }
 [domain_realm]
  .crapsteak.org = DOMAIN.COM
  crapsteak.org = DOMAIN.COM
 [dbmodules]
   DOMAIN.COM = {
     db_library = ipadb.so
   }


# grep sss /etc/nsswitch.conf passwd: files sss shadow: files sss group: files sss services: files sss netgroup: files sss automount: files sss


# cat /etc/sssd/sssd.conf [domain/domain.com] cache_credentials = True krb5_store_password_if_offline = True ipa_domain = domain.com id_provider = ipa auth_provider = ipa access_provider = ipa ipa_hostname = somehost.domain.com chpass_provider = ipa ipa_server = ipaserver.domain.com ldap_tls_cacert = /etc/ipa/ca.crt [sssd] services = nss, pam, ssh config_file_version = 2 domains = domain.com


# grep sss /etc/pam.d/{password,system}-auth-ac /etc/pam.d/password-auth-ac:auth sufficient pam_sss.so use_first_pass /etc/pam.d/password-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so /etc/pam.d/password-auth-ac:password sufficient pam_sss.so use_authtok /etc/pam.d/password-auth-ac:session optional pam_sss.so /etc/pam.d/system-auth-ac:auth sufficient pam_sss.so use_first_pass /etc/pam.d/system-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so /etc/pam.d/system-auth-ac:password sufficient pam_sss.so use_authtok /etc/pam.d/system-auth-ac:session optional pam_sss.so


# grep GSS /etc/ssh/sshd_config GSSAPICleanupCredentials yes GSSAPIAuthentication yes
2
dawud