some tweaks
This commit is contained in:
@@ -60,7 +60,7 @@ jobs:
|
||||
run: rsync -cavz dist/ ${{ secrets.SSH_USER }}@poisson.phc.dm.unipi.it:public_html/
|
||||
```
|
||||
|
||||
## Comando `rsync`
|
||||
## Comando rsync
|
||||
|
||||
Il comando `rsync` ha le seguenti opzioni:
|
||||
|
||||
@@ -77,22 +77,26 @@ Il comando `rsync` ha le seguenti opzioni:
|
||||
Per stabilire una connessione SSH a Poisson dalle GitHub Actions in modo sicuro, dobbiamo aggiungere alcuni segreti alla nostra repository. Vediamo meglio il workflow:
|
||||
|
||||
```yaml
|
||||
- name: Write SSH keys
|
||||
run: |
|
||||
install -m 600 -D /dev/null ~/.ssh/known_hosts
|
||||
install -m 600 -D /dev/null ~/.ssh/id_ed25519
|
||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
|
||||
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
|
||||
- name: Write SSH keys
|
||||
run: |
|
||||
install -m 600 -D /dev/null ~/.ssh/known_hosts
|
||||
install -m 600 -D /dev/null ~/.ssh/id_ed25519
|
||||
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
|
||||
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
|
||||
```
|
||||
|
||||
Questa è la parte più importante del workflow, che permette di autenticarsi su Poisson senza dover inserire la password ogni volta (cosa che non è possibile con le GitHub Actions). Per farlo, creiamo in locale una coppia di chiavi SSH apposta per le GitHub Actions e aggiungiamo la chiave pubblica su Poisson. Per farlo, possiamo seguire questi passaggi:
|
||||
Questa è la parte più importante del workflow, che permette di autenticarsi su Poisson senza dover inserire la password ogni volta (cosa che non possiamo materialmente fare dall GitHub Actions).
|
||||
|
||||
Per farlo, creiamo in locale una coppia di chiavi SSH apposta per le GitHub Actions e aggiungiamo la chiave pubblica su Poisson. Per farlo, possiamo seguire questi passaggi:
|
||||
|
||||
```bash
|
||||
$ ssh-keygen -t ed25519 -C "deploy@github-actions" -f actions-deploy-key
|
||||
$ ssh-copy-id -i actions-deploy-key <username>@poisson.phc.dm.unipi.it
|
||||
```
|
||||
|
||||
Poi facendo `cat actions-deploy-key` possiamo copiare il contenuto della chiave privata ed aggiungiamo il contenuto in un segreto chiamato `SSH_PRIVATE_KEY` nella nostra repository.
|
||||
Qui generiamo una chiave ssh utilizzando l'algoritmo `ed25519` (leggermente più consigliato rispetto a `rsa`, in particolare ha anche chiavi più corte), `-C` aggiunge semplicemente un commento alla chiave e `-f` specifica il file in cui salvare la chiave.
|
||||
|
||||
Poi eseguendo `cat actions-deploy-key` possiamo copiare il contenuto della chiave privata ed aggiungiamo il contenuto in un segreto chiamato `SSH_PRIVATE_KEY` nella nostra repository.
|
||||
|
||||
Poi, per evitare che la connessione venga rifiutata, eseguiamo in locale anche uno scan delle chiavi SSH di Poisson:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user