onboard: password Gitea e chiave AWS dalle schede LastPass, non dalla mail
La mail "I tuoi accessi OTO" non ha piu' password. configura.sh manda a cercarle per nome: "Gitea > nome.cognome" (campo Password) e "AWS > Nome Cognome" (Access key ID e Secret nel campo di testo). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,8 +3,10 @@
|
|||||||
Chi ti parla è una persona **nuova in OTO**, spesso non tecnica, al primo
|
Chi ti parla è una persona **nuova in OTO**, spesso non tecnica, al primo
|
||||||
giorno. Ti ha scritto qualcosa come «prepara il mio PC per OTO» e ha in mano
|
giorno. Ti ha scritto qualcosa come «prepara il mio PC per OTO» e ha in mano
|
||||||
la mail *I tuoi accessi OTO* che le ha mandato chi amministra (link,
|
la mail *I tuoi accessi OTO* che le ha mandato chi amministra (link,
|
||||||
utenti, password, la frase per te) e, su LastPass, la chiave AWS e, se
|
utente, email, la frase per te, **nessuna password**) e, su LastPass, due
|
||||||
le serve, la VPN. **Il lavoro
|
schede condivise con lei: `AWS > Nome Cognome` (console, MFA e, nel campo di
|
||||||
|
testo, la chiave di accesso) e `Gitea > nome.cognome` (password Gitea), più
|
||||||
|
la scheda *VPN* se le serve. **Il lavoro
|
||||||
lo fai tu**: installi i programmi, lanci i controlli, le dici cosa cliccare.
|
lo fai tu**: installi i programmi, lanci i controlli, le dici cosa cliccare.
|
||||||
Lei fa solo quello che tu non puoi fare: scrivere i propri segreti nel
|
Lei fa solo quello che tu non puoi fare: scrivere i propri segreti nel
|
||||||
terminale e, se le serve, accendere la VPN. Parla semplice, un passo alla volta, e controlla
|
terminale e, se le serve, accendere la VPN. Parla semplice, un passo alla volta, e controlla
|
||||||
@@ -50,11 +52,13 @@ La spiegazione per le persone sta in
|
|||||||
|
|
||||||
| Cosa | Dove lo trova o lo crea |
|
| Cosa | Dove lo trova o lo crea |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Indirizzo, utente e password di AWS e di Gitea | nella **mail *I tuoi accessi OTO*** che le ha mandato chi amministra: righe già pronte da copiare. Se non ce l'ha, risponde a quella mail o lo chiede a lui: tu non puoi recuperarlo |
|
| Utente Gitea ed email | nella **mail *I tuoi accessi OTO*** che le ha mandato chi amministra: righe già pronte da copiare. Se non ce l'ha, risponde a quella mail o lo chiede a lui: tu non puoi recuperarlo |
|
||||||
| Chiave di accesso AWS (*Access key ID* e *Secret access key*) | in una **nota LastPass** condivisa da chi amministra (non nella mail, apposta): la crea chi amministra insieme all'utente. Solo se lì non c'è (è arrivata prima, o la chiave è stata cancellata), la crea lei: console AWS → il suo nome in alto a destra → *Security credentials* → riquadro *Access keys* → *Create access key* → *Command Line Interface (CLI)* → spunta la conferma → *Next* → *Create access key*. I due pezzi sono nella pagina *Retrieve access keys*; la Secret si vede con *Show*, una volta sola. Se l'ha chiusa: cancella quella chiave dallo stesso riquadro e ne crea un'altra |
|
| Password Gitea | su **LastPass**, scheda **`Gitea > nome.cognome`** (per esempio `Gitea > sara.locatelli`), campo *Password*. Nella mail non c'è, apposta |
|
||||||
|
| Indirizzo, utente, password e codice a due fattori della console AWS | su **LastPass**, scheda **`AWS > Nome Cognome`** (nome per esteso: `AWS > Sara Locatelli`). Il primo giorno non servono |
|
||||||
|
| Chiave di accesso AWS (*Access key ID* e *Secret access key*) | su **LastPass**, scheda **`AWS > Nome Cognome`**, nel **campo di testo**: due righe, *Access key ID* (inizia con `AKIA`) e *Secret access key*. Nella mail non c'è, apposta: la crea chi amministra insieme all'utente. Solo se lì non c'è (è arrivata prima, o la chiave è stata cancellata), la crea lei: console AWS → il suo nome in alto a destra → *Security credentials* → riquadro *Access keys* → *Create access key* → *Command Line Interface (CLI)* → spunta la conferma → *Next* → *Create access key*. I due pezzi sono nella pagina *Retrieve access keys*; la Secret si vede con *Show*, una volta sola. Se l'ha chiusa: cancella quella chiave dallo stesso riquadro e ne crea un'altra |
|
||||||
| Utente Gitea | è nella mail (`nome.cognome`); su Gitea lo vede in alto a destra, cliccando l'icona del profilo |
|
| Utente Gitea | è nella mail (`nome.cognome`); su Gitea lo vede in alto a destra, cliccando l'icona del profilo |
|
||||||
| Email di lavoro | il suo indirizzo `@oto.agency` |
|
| Email di lavoro | il suo indirizzo `@oto.agency` |
|
||||||
| File e credenziali della VPN | in una **nota LastPass** condivisa da chi amministra: il file `.ovpn` è allegato alla nota (*Attachments* → si scarica, finisce in *Download*), utente e password della VPN sono scritti nella nota. Il programma è **OpenVPN Connect**, lo installi tu. Se la nota non c'è, lo chiede a chi amministra |
|
| File e credenziali della VPN | in una **scheda LastPass *VPN*** condivisa da chi amministra: il file `.ovpn` è allegato alla scheda (*Attachments* → si scarica, finisce in *Download*), utente e password della VPN sono scritti nella scheda. Il programma è **OpenVPN Connect**, lo installi tu. Se la scheda non c'è, lo chiede a chi amministra |
|
||||||
| Password del Mac (per Homebrew) | è quella con cui accende il Mac |
|
| Password del Mac (per Homebrew) | è quella con cui accende il Mac |
|
||||||
| Accesso a un progetto che non vede su Gitea | lo dà chi amministra: dille il nome del progetto da chiedere |
|
| Accesso a un progetto che non vede su Gitea | lo dà chi amministra: dille il nome del progetto da chiedere |
|
||||||
|
|
||||||
@@ -73,7 +77,7 @@ Capisci da solo se sei su Windows o su Mac (`uname -s`, `$OS`): non chiederlo.
|
|||||||
## Non le chiedi che lavoro fa
|
## Non le chiedi che lavoro fa
|
||||||
|
|
||||||
Lo ha già deciso chi amministra (deciso il 07/10/2026): se la persona ha la
|
Lo ha già deciso chi amministra (deciso il 07/10/2026): se la persona ha la
|
||||||
mail, le servono tutti i passi; se su LastPass ha anche la nota *VPN*, le
|
mail, le servono tutti i passi; se su LastPass ha anche la scheda *VPN*, le
|
||||||
serve anche la VPN. Chi lavora solo dal pannello del sito non riceve la mail
|
serve anche la VPN. Chi lavora solo dal pannello del sito non riceve la mail
|
||||||
e non arriva qui. Alla VPN (passo 5) le chiedi soltanto se fra le note
|
e non arriva qui. Alla VPN (passo 5) le chiedi soltanto se fra le note
|
||||||
LastPass condivise con lei ce n'è una che si chiama *VPN*: se no, salti il
|
LastPass condivise con lei ce n'è una che si chiama *VPN*: se no, salti il
|
||||||
@@ -104,13 +108,15 @@ spiegala in una riga la prima volta.
|
|||||||
continui.
|
continui.
|
||||||
3. **Niente login su AWS né su Gitea nel browser** (deciso il 07/10/2026):
|
3. **Niente login su AWS né su Gitea nel browser** (deciso il 07/10/2026):
|
||||||
le password sono già le definitive e l'MFA di AWS lo attiva chi
|
le password sono già le definitive e l'MFA di AWS lo attiva chi
|
||||||
amministra, con il seme nella nota LastPass. La chiave di accesso **non**
|
amministra, con il seme nella scheda LastPass `AWS > Nome Cognome`. La
|
||||||
la crea: è già nella nota LastPass. Solo se lì non c'è, la crea dalla
|
chiave di accesso **non** la crea: è già nel campo di testo di quella
|
||||||
console AWS (percorso nella tabella qui sopra), entrando con utente e
|
scheda. Solo se lì non c'è, la crea dalla console AWS (percorso nella
|
||||||
password della mail e il codice a due fattori della nota.
|
tabella qui sopra), entrando con utente, password e codice a due fattori
|
||||||
|
della stessa scheda.
|
||||||
4. **`./configura.sh`**, nel terminale della persona. Chiede utente e
|
4. **`./configura.sh`**, nel terminale della persona. Chiede utente e
|
||||||
password di Gitea e poi i due pezzi della chiave AWS, che lei copia dal
|
password di Gitea (l'utente dalla mail, la password dalla scheda
|
||||||
la nota LastPass; crea l'accesso a
|
`Gitea > nome.cognome`) e poi i due pezzi della chiave AWS, che lei copia
|
||||||
|
dal campo di testo della scheda `AWS > Nome Cognome`; crea l'accesso a
|
||||||
Gitea, configura git, genera la chiave SSH e la carica sul suo profilo
|
Gitea, configura git, genera la chiave SSH e la carica sul suo profilo
|
||||||
Gitea (da lì la prende l'amministratore: **non va mandata a nessuno**),
|
Gitea (da lì la prende l'amministratore: **non va mandata a nessuno**),
|
||||||
scrive i nomi dei server in `~/.ssh/config`. Gitea viene prima apposta: è lui a dire chi è la persona. Se sul PC
|
scrive i nomi dei server in `~/.ssh/config`. Gitea viene prima apposta: è lui a dire chi è la persona. Se sul PC
|
||||||
@@ -119,13 +125,13 @@ spiegala in una riga la prima volta.
|
|||||||
l'amministratore, perché quella chiave va disattivata. Una chiave altrui
|
l'amministratore, perché quella chiave va disattivata. Una chiave altrui
|
||||||
non va mai tenuta "intanto che funziona": tutto quello che la persona fa
|
non va mai tenuta "intanto che funziona": tutto quello che la persona fa
|
||||||
su AWS risulterebbe fatto dall'altro.
|
su AWS risulterebbe fatto dall'altro.
|
||||||
5. **VPN**, solo se su LastPass ha la nota *VPN* (chiediglielo). Prima
|
5. **VPN**, solo se su LastPass ha la scheda *VPN* (chiediglielo). Prima
|
||||||
installi tu OpenVPN Connect: su Windows
|
installi tu OpenVPN Connect: su Windows
|
||||||
`winget install -e --id OpenVPNTechnologies.OpenVPNConnect`, su Mac
|
`winget install -e --id OpenVPNTechnologies.OpenVPNConnect`, su Mac
|
||||||
`brew install --cask openvpn-connect`. Poi lei, un passo alla volta: apre la nota VPN su LastPass e scarica il file
|
`brew install --cask openvpn-connect`. Poi lei, un passo alla volta: apre la scheda VPN su LastPass e scarica il file
|
||||||
`.ovpn` allegato; apre OpenVPN Connect → *Upload File* (o *Import
|
`.ovpn` allegato; apre OpenVPN Connect → *Upload File* (o *Import
|
||||||
Profile* → *File*) → *Browse* → il file in *Download*; scrive utente e
|
Profile* → *File*) → *Browse* → il file in *Download*; scrive utente e
|
||||||
password della VPN dalla stessa nota, spunta *Save password*, *Connect*.
|
password della VPN dalla stessa scheda, spunta *Save password*, *Connect*.
|
||||||
È accesa quando l'interruttore diventa verde (*Connected*).
|
È accesa quando l'interruttore diventa verde (*Connected*).
|
||||||
6. **Dirlo all'amministratore**: risponde alla mail *I tuoi accessi OTO*
|
6. **Dirlo all'amministratore**: risponde alla mail *I tuoi accessi OTO*
|
||||||
scrivendo «ho finito la configurazione». È il segnale
|
scrivendo «ho finito la configurazione». È il segnale
|
||||||
|
|||||||
@@ -14,8 +14,10 @@ scaricano i progetti stessi da AWS, con il tuo accesso personale.
|
|||||||
|
|
||||||
Il resto lo fa Claude: installa i programmi e ti dice cosa cliccare. Tu
|
Il resto lo fa Claude: installa i programmi e ti dice cosa cliccare. Tu
|
||||||
scrivi le tue chiavi nel terminale, con il comando che ti da' Claude.
|
scrivi le tue chiavi nel terminale, con il comando che ti da' Claude.
|
||||||
Utenti e password sono nella mail *I tuoi accessi OTO* che ti ha mandato chi
|
L'utente e' nella mail *I tuoi accessi OTO* che ti ha mandato chi amministra;
|
||||||
amministra; la chiave AWS e la VPN in una nota LastPass condivisa con te.
|
password e chiavi su LastPass, nelle schede condivise con te:
|
||||||
|
`Gitea > nome.cognome` (password Gitea), `AWS > Nome Cognome` (chiave AWS nel
|
||||||
|
campo di testo) e, se ti serve, *VPN*.
|
||||||
|
|
||||||
## Una regola
|
## Una regola
|
||||||
|
|
||||||
|
|||||||
+17
-11
@@ -18,7 +18,8 @@ titolo "1. Gitea"
|
|||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# Alla persona si chiede la password, non un token: il token lo crea lo
|
# Alla persona si chiede la password, non un token: il token lo crea lo
|
||||||
# script con l'API di Gitea, cosi' non c'e' da cercarlo fra le impostazioni.
|
# script con l'API di Gitea, cosi' non c'e' da cercarlo fra le impostazioni.
|
||||||
# La password e' quella della mail di benvenuto: dal 07/10/2026 Gitea non
|
# La password e' nella scheda LastPass "Gitea > nome.cognome", condivisa da
|
||||||
|
# chi amministra (nella mail non c'e', apposta): dal 07/10/2026 Gitea non
|
||||||
# obbliga piu' a cambiarla. Chi e' stato creato prima invece deve ancora
|
# obbliga piu' a cambiarla. Chi e' stato creato prima invece deve ancora
|
||||||
# cambiarla nel browser, e Gitea gli risponde 403: lo si dice sotto.
|
# cambiarla nel browser, e Gitea gli risponde 403: lo si dice sotto.
|
||||||
UTENTE="$(utente_gitea)"
|
UTENTE="$(utente_gitea)"
|
||||||
@@ -40,10 +41,11 @@ fi
|
|||||||
if [ -n "$UTENTE" ] ; then
|
if [ -n "$UTENTE" ] ; then
|
||||||
ok "token Gitea gia' salvato (utente $UTENTE)"
|
ok "token Gitea gia' salvato (utente $UTENTE)"
|
||||||
else
|
else
|
||||||
echo " Utente e password di Gitea sono nella mail \"I tuoi accessi OTO\" che ti ha"
|
echo " L'utente Gitea e' nella mail \"I tuoi accessi OTO\" che ti ha mandato chi"
|
||||||
echo " mandato chi amministra: copiali da li'."
|
echo " amministra. La password no: e' su LastPass, nella scheda \"Gitea > nome.cognome\""
|
||||||
|
echo " col tuo utente (per esempio \"Gitea > sara.locatelli\"), campo Password."
|
||||||
read -r -p " Il tuo utente Gitea (dalla mail, riga utente Gitea): " UTENTE_DATO
|
read -r -p " Il tuo utente Gitea (dalla mail, riga utente Gitea): " UTENTE_DATO
|
||||||
read -r -s -p " La tua password Gitea, dalla nota LastPass (non si vede, ed e' normale): " PASSWORD ; echo
|
read -r -s -p " La tua password Gitea, dalla scheda LastPass \"Gitea > $UTENTE_DATO\" (non si vede, ed e' normale): " PASSWORD ; echo
|
||||||
# utente:password passano a curl da stdin, non dalla riga di comando
|
# utente:password passano a curl da stdin, non dalla riga di comando
|
||||||
# (che chiunque sul PC vede con ps). Virgolette e \ vanno protette.
|
# (che chiunque sul PC vede con ps). Virgolette e \ vanno protette.
|
||||||
PASSWORD_CURL="$(printf '%s:%s' "$UTENTE_DATO" "$PASSWORD" | sed 's/[\\"]/\\&/g')"
|
PASSWORD_CURL="$(printf '%s:%s' "$UTENTE_DATO" "$PASSWORD" | sed 's/[\\"]/\\&/g')"
|
||||||
@@ -92,7 +94,8 @@ fi
|
|||||||
titolo "2. AWS"
|
titolo "2. AWS"
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# La chiave di accesso la crea chi amministra insieme all'utente, e la
|
# La chiave di accesso la crea chi amministra insieme all'utente, e la
|
||||||
# persona la trova nella nota LastPass della chiave AWS: qui la si incolla
|
# persona la trova su LastPass, nel campo di testo della scheda
|
||||||
|
# "AWS > Nome Cognome": qui la si incolla
|
||||||
# una volta e finisce in ~/.aws/credentials, dove la leggono la AWS CLI e gli
|
# una volta e finisce in ~/.aws/credentials, dove la leggono la AWS CLI e gli
|
||||||
# script dei progetti. Se non ce l'ha (e' arrivata prima, o l'ha persa), se
|
# script dei progetti. Se non ce l'ha (e' arrivata prima, o l'ha persa), se
|
||||||
# ne crea una dalla console: la strada e' scritta qui sotto.
|
# ne crea una dalla console: la strada e' scritta qui sotto.
|
||||||
@@ -103,10 +106,13 @@ titolo "2. AWS"
|
|||||||
# quello che la persona fa su AWS risulterebbe fatto da un altro.
|
# quello che la persona fa su AWS risulterebbe fatto da un altro.
|
||||||
chiedi_chiave_aws () {
|
chiedi_chiave_aws () {
|
||||||
echo " Serve la tua chiave di accesso AWS, due pezzi: Access key ID e Secret access key."
|
echo " Serve la tua chiave di accesso AWS, due pezzi: Access key ID e Secret access key."
|
||||||
echo " Non sono nella mail: li trovi nella nota LastPass che ti ha condiviso"
|
# Il nome della scheda e' quello per esteso: sara.locatelli -> Sara Locatelli.
|
||||||
echo " chi amministra. Se li' non c'e', la crei tu nella console AWS:"
|
SCHEDA_AWS="AWS > $(printf '%s' "${UTENTE:-nome.cognome}" | awk -F. '{for (i = 1; i <= NF; i++) printf "%s%s", (i > 1 ? " " : ""), toupper(substr($i, 1, 1)) substr($i, 2)}')"
|
||||||
echo " 1. entra su $AWS_CONSOLE (IAM user, utente e password"
|
echo " Non sono nella mail: li trovi su LastPass, nella scheda \"$SCHEDA_AWS\" che ti"
|
||||||
echo " della mail di benvenuto);"
|
echo " ha condiviso chi amministra, nel campo di testo (righe Access key ID e Secret"
|
||||||
|
echo " access key). Se li' non c'e', la crei tu nella console AWS:"
|
||||||
|
echo " 1. entra su $AWS_CONSOLE (IAM user, utente, password e"
|
||||||
|
echo " codice a due fattori dalla stessa scheda LastPass);"
|
||||||
echo " 2. il tuo nome in alto a destra → Security credentials;"
|
echo " 2. il tuo nome in alto a destra → Security credentials;"
|
||||||
echo " 3. riquadro Access keys → Create access key → Command Line Interface (CLI),"
|
echo " 3. riquadro Access keys → Create access key → Command Line Interface (CLI),"
|
||||||
echo " spunta la conferma → Next → Create access key."
|
echo " spunta la conferma → Next → Create access key."
|
||||||
@@ -128,7 +134,7 @@ chiedi_chiave_aws () {
|
|||||||
if ! IDENTITA="$(aws sts get-caller-identity --query Arn --output text 2> /dev/null)" ; then
|
if ! IDENTITA="$(aws sts get-caller-identity --query Arn --output text 2> /dev/null)" ; then
|
||||||
male "AWS non accetta questa chiave: controlla di aver copiato i due pezzi interi, senza scambiarli, e rilancia."
|
male "AWS non accetta questa chiave: controlla di aver copiato i due pezzi interi, senza scambiarli, e rilancia."
|
||||||
elif [ -n "$UTENTE" ] && [ "${IDENTITA##*/}" != "$UTENTE" ] ; then
|
elif [ -n "$UTENTE" ] && [ "${IDENTITA##*/}" != "$UTENTE" ] ; then
|
||||||
male "questa chiave e' di ${IDENTITA##*/}, non tua ($UTENTE): usa quella della tua nota LastPass, e rilancia."
|
male "questa chiave e' di ${IDENTITA##*/}, non tua ($UTENTE): usa quella della tua scheda LastPass \"$SCHEDA_AWS\", e rilancia."
|
||||||
else
|
else
|
||||||
ok "accesso AWS: ${IDENTITA##*/}"
|
ok "accesso AWS: ${IDENTITA##*/}"
|
||||||
fi
|
fi
|
||||||
@@ -226,4 +232,4 @@ ok "ssh $STAGING_NOME, ssh $PRODUZIONE_NOME e ssh $PRODUZIONE_VECCHIA_NOME: conf
|
|||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
titolo "Fatto"
|
titolo "Fatto"
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
echo " Ora: accendi la VPN (file e credenziali nella nota LastPass), poi torna da Claude."
|
echo " Ora: se su LastPass hai la scheda VPN, accendi la VPN (file e credenziali sono li'); poi torna da Claude."
|
||||||
|
|||||||
Reference in New Issue
Block a user