Ho accesso a quasi una dozzina di macchine e tendo a lavorare da più dispositivi (un laptop principale, un laptop domestico, uno smartphone tramite termux, un tablet tramite termux, un macbook di backup, un'installazione cygwin in ufficio). Inoltre, alcune di queste macchine necessitano dell'accesso reciproco (ad es. Rsync su ssh per il backup remoto).
Quando avevo meno dispositivi, ero abbastanza severo su una chiave univoca per ciascuna coppia di connessioni, ma ciò divenne troppo ingombrante, quindi quello che faccio attualmente è mantenere due chiavi (chiamate "personali" e "lavoro") per ogni dispositivo, e avere due diversi file "authorized_keys" che elencano la chiave pubblica per tutte le chiavi dei miei dispositivi. Ho un semplice script bash che invia questi file authorised_keys alle macchine giuste.
Ciò si sta anche esaurendo in termini di complessità perché, ad esempio, ci sono alcuni dispositivi che dovrebbero avere chiavi inter-dispositivo aggiuntive a cui non voglio concedere l'accesso a tutte le mie macchine (ad esempio una chiave solo per il backup non dovrebbe essere permesso di accedere al mio laptop di casa).
Qual è un modo conveniente per gestire le chiavi (e in particolare le autorizzazioni autorizzate) su ciascuna di queste macchine? Sono consapevole di ansible e burattino, e ho dato un'occhiata a entrambi, ma sembrano abbastanza complicati per quello che sto cercando di fare.
Suppongo che la situazione ideale per me sarebbe quella di avere un qualche tipo di mappatura della matrice tra chiavi e macchine, che quindi genererebbe il giusto file autorizzato_keys per tutte le macchine e lo spingerebbe, ma openssh non sembra avere un tale strumento.