SshAvecAfs
Sur le client
Dans /etc/ssh/ssh_config, ajouter :
Host * ... GSSAPIAuthentication yes GSSAPIDelegateCredentials yes
Dans /etc/krb5.conf, vérifier que le royaume est bien connu :
[libdefaults] default_realm = LAMA.UNIV-SAVOIE.FR forwardable = true [realms] LAMA.UNIV-SAVOIE.FR = { kdc = lama.univ-savoie.fr admin_server = lama.univ-savoie.fr }
On peut alors faire du ssh sur lama.univ-savoie.fr presque sans mot de passe:
on fait
kinit
ou si votre login n'est pas le même sur votre client et sur le serveur du lama
kinit login_sur_lama
Ensuite, tous les ssh marcheront sans mot de passe.
Pour chaque serveur SSH
On peut vouloir se connecter sur d'autres machines au labo que le serveur du LAMA ... grâce au ticket Kerberos que l'on détient dans le royaume LAMA.UNIV-SAVOIE.FR.
On pourrait utiliser les clefs publiques/clefs privées de SSH, mais on a mieux avec Kerberos, car en plus le ticket AFS suit.
Il faut alors faire en plus, pour chaque machine, les choses suivantes :
Sur le serveur du LAMA
Le serveur SSH de d45.lama.univ-savoie.fr a besoin d'un principal qui l'identifie dans le royaume. Ce principal c'est host/d45.lama.univ-savoie.fr@LAMA.UNIV-SAVOIE.FR et il faut le créer sur le serveur du LAMA.
# kadmin -l kadmin> add -r host/d45.lama.univ-savoie.fr@LAMA.UNIV-SAVOIE.FR Max ticket life [1 week]: Max renewable life [1 month 1 day]: Principal expiration time [never]: Password expiration time [never]: Attributes []: kadmin> ext_keytab -k /tmp/d45.keytab host/d45.lama.univ-savoie.fr kadmin> quit
Ne pas oublier de virer à la fin le fichier /tmp/d45.keytab (c'est une clef secrète) !
Sur la machine à kerbériser
Il faut activer le support Kerberos sur d45.lama.univ-savoie.fr dans SSH ; dans /etc/ssh/sshd_config :
# Kerberos options KerberosAuthentication yes KerberosOrLocalPasswd yes KerberosTicketCleanup yes # GSSAPI options GSSAPIAuthentication yes GSSAPICleanupCredentials yes GSSAPIStrictAcceptorCheck no # ça c'est super important
Et il faut lui donner son principal secret :
# scp www.lama.univ-savoie.fr:/tmp/d45.keytab /etc/krb5.keytab # chmod 600 /etc/krb5.keytab