minor changes
This commit is contained in:
parent
01c09855eb
commit
fc03b72b17
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: chroot
|
title: Come accedere a file-system danneggiati con il comando chroot
|
||||||
date: 2024-11-23
|
date: 2024-11-23
|
||||||
description: il comando chroot è uno strumento potente per il recupero del sistema in Linux. Ad esempio, puoi usarlo da un ambiente live per accedere a un filesystem danneggiato
|
description: il comando chroot è uno strumento potente per il recupero del sistema in Linux. Ad esempio, puoi usarlo da un ambiente live per accedere a un filesystem danneggiato
|
||||||
tags:
|
tags:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: diff
|
title: diff, confrontare file e directory
|
||||||
date: 2024-11-23
|
date: 2024-11-23
|
||||||
description: diff è un comando della shell Linux utilizzato per confrontare file e directory, mostrando le differenze tra di essi
|
description: diff è un comando della shell Linux utilizzato per confrontare file e directory, mostrando le differenze tra di essi
|
||||||
tags:
|
tags:
|
||||||
|
@ -11,10 +11,12 @@ tags:
|
|||||||
|
|
||||||
# Snikket
|
# Snikket
|
||||||
|
|
||||||
Si tratta di un progetto che, tramite l'utilizzo di container Docker, permette di installare un servizio su un server fisico o virtuale per configurarlo in modo da riuscire a gestire autonomamente la messaggistica tramite il protocollo XMPP.
|
Si tratta di un progetto che, tramite l'utilizzo di container Docker, permette di installare un server XMPP per la messaggistica istantanea.
|
||||||
|
|
||||||
## DNS
|
## DNS
|
||||||
|
|
||||||
|
Aggiungere i seguenti record DNS:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Domain TTL Class Type Target
|
# Domain TTL Class Type Target
|
||||||
chat.example.com. 300 IN A 203.0.113.123
|
chat.example.com. 300 IN A 203.0.113.123
|
||||||
@ -22,37 +24,10 @@ groups.chat.example.com 300 IN CNAME chat.example.com.
|
|||||||
share.chat.example.com 300 IN CNAME chat.example.com.
|
share.chat.example.com 300 IN CNAME chat.example.com.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Docker
|
## Installare docker
|
||||||
|
|
||||||
```bash
|
|
||||||
apt update && apt upgrade
|
|
||||||
```
|
|
||||||
|
|
||||||
Per Debian, seguire le istruzioni alla pagina [ufficiale](https://docs.docker.com/install/linux/docker-ce/debian/). In particolare:
|
Per Debian, seguire le istruzioni alla pagina [ufficiale](https://docs.docker.com/install/linux/docker-ce/debian/). In particolare:
|
||||||
|
|
||||||
```bash
|
|
||||||
# Add Docker's official GPG key:
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install ca-certificates curl gnupg
|
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
|
||||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
|
||||||
|
|
||||||
# Add the repository to Apt sources:
|
|
||||||
echo \
|
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
|
||||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
|
||||||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
||||||
|
|
||||||
sudo apt-get update
|
|
||||||
|
|
||||||
# To install the latest version, run:
|
|
||||||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
||||||
|
|
||||||
# Verify that the installation is successful by running the hello-world image:
|
|
||||||
sudo docker run hello-world
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installazione di Snikket
|
## Installazione di Snikket
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -111,17 +86,6 @@ Status: active
|
|||||||
[ 9] 5349 ALLOW IN Anywhere
|
[ 9] 5349 ALLOW IN Anywhere
|
||||||
[10] 5350 ALLOW IN Anywhere
|
[10] 5350 ALLOW IN Anywhere
|
||||||
[11] 49152:65535/udp ALLOW IN Anywhere
|
[11] 49152:65535/udp ALLOW IN Anywhere
|
||||||
[12] 1222/tcp (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[13] 80/tcp (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[14] 443/tcp (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[15] 5222/tcp (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[16] 5269/tcp (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[17] 5000/tcp (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[18] 3478 (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[19] 3479 (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[20] 5349 (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[21] 5350 (v6) ALLOW IN Anywhere (v6)
|
|
||||||
[22] 49152:65535/udp (v6) ALLOW IN Anywhere (v6)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
In particolare:
|
In particolare:
|
||||||
@ -155,13 +119,13 @@ docker compose up -d
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker exec snikket create-invite --admin --group default
|
docker exec snikket create-invite --admin --group default
|
||||||
|
```
|
||||||
|
|
||||||
Viene generato un link utilizzabile una sola volta. Tutti gli altri utenti possono essere creati dal pannello di controllo una volta eseguito l’accesso.
|
Viene generato un link utilizzabile una sola volta. Tutti gli altri utenti possono essere creati dal pannello di controllo una volta eseguito l’accesso.
|
||||||
```
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
[https://snikket.org/service/help/setup/troubleshooting/](https://snikket.org/service/help/setup/troubleshooting/)
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Checking for errors
|
# Checking for errors
|
||||||
@ -178,8 +142,6 @@ docker-compose exec snikket_certs su letsencrypt -- -c "certbot renew --config-d
|
|||||||
```bash
|
```bash
|
||||||
> cat /etc/snikket/docker-compose.yml
|
> cat /etc/snikket/docker-compose.yml
|
||||||
|
|
||||||
version: "3.3"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# nome del servizio
|
# nome del servizio
|
||||||
snikket_proxy:
|
snikket_proxy:
|
||||||
@ -228,32 +190,6 @@ volumes:
|
|||||||
snikket_data:
|
snikket_data:
|
||||||
```
|
```
|
||||||
|
|
||||||
### cli dei volumi
|
|
||||||
|
|
||||||
```bash
|
|
||||||
> docker volume help
|
|
||||||
|
|
||||||
Usage: docker volume COMMAND
|
|
||||||
|
|
||||||
Manage volumes
|
|
||||||
|
|
||||||
Commands:
|
|
||||||
create Create a volume
|
|
||||||
inspect Display detailed information on one or more volumes
|
|
||||||
ls List volumes
|
|
||||||
prune Remove all unused local volumes
|
|
||||||
rm Remove one or more volumes
|
|
||||||
```
|
|
||||||
|
|
||||||
## Comandi docker compose (in riferimento ai volumi)
|
|
||||||
|
|
||||||
Docker Compose fornisce diversi comandi che aiutano a gestire in modo efficace l’applicazione e le sue risorse. Nel dettaglio questi comandi e il loro rapporto con i volumi:
|
|
||||||
|
|
||||||
- `docker compose up`: crea e avvia l’applicazione, compresi i servizi, le reti e i volumi. Se si definisce un volume denominato nel file docker-compose.yml prima che esista, questo comando lo creerà automaticamente.
|
|
||||||
- `docker compose down`: arresta e rimuove i servizi e le reti dell’applicazione. Per impostazione predefinita, non rimuove i volumi denominati. Per rimuovere i volumi denominati, usare il flag `--volumes` o `-v`.
|
|
||||||
- `docker compose ps`: elenca i container e il loro stato attuale, comprese le informazioni relative ai volumi.
|
|
||||||
- `docker compose config`: convalida e visualizza la configurazione effettiva generata dal file docker-compose.yml, comprese le definizioni dei volumi.
|
|
||||||
|
|
||||||
## Update Snikket
|
## Update Snikket
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -263,7 +199,7 @@ docker compose pull
|
|||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Per maggiori dettagli: [https://snikket.org/service/help/setup/upgrading/](https://snikket.org/service/help/setup/upgrading/)
|
Per maggiori dettagli: [upgrading](https://snikket.org/service/help/setup/upgrading/)
|
||||||
|
|
||||||
## Riferimenti
|
## Riferimenti
|
||||||
|
|
||||||
@ -273,3 +209,5 @@ Per maggiori dettagli: [https://snikket.org/service/help/setup/upgrading/](https
|
|||||||
- [https://wiki.xmpp-it.net/index.php/Installazione_di_un_server_Snikket](https://wiki.xmpp-it.net/index.php/Installazione_di_un_server_Snikket)
|
- [https://wiki.xmpp-it.net/index.php/Installazione_di_un_server_Snikket](https://wiki.xmpp-it.net/index.php/Installazione_di_un_server_Snikket)
|
||||||
- [https://snikket.org/service/help/advanced/firewall/](https://snikket.org/service/help/advanced/firewall/)
|
- [https://snikket.org/service/help/advanced/firewall/](https://snikket.org/service/help/advanced/firewall/)
|
||||||
- [https://snikket.org/](https://snikket.org/)
|
- [https://snikket.org/](https://snikket.org/)
|
||||||
|
- [troubleshooting](https://snikket.org/service/help/setup/troubleshooting/)
|
||||||
|
|
||||||
|
@ -18,12 +18,12 @@ crittografato per accedere al server o ad un'altra macchina.
|
|||||||
```bash
|
```bash
|
||||||
sudo apt install openssh-server
|
sudo apt install openssh-server
|
||||||
sudo systemctl start ssh
|
sudo systemctl start ssh
|
||||||
sudo systemctl enable ssh #Abilita SSH all'accensione della macchina
|
sudo systemctl enable ssh # Abilita SSH all'accensione della macchina
|
||||||
```
|
```
|
||||||
|
|
||||||
## Creazione chiave SSH
|
## Creazione chiave SSH
|
||||||
|
|
||||||
Il protocollo SSH utilizza una tecnica di crittografia chiamata crittografia asimmetrica. Fondamentalmente, la crittografia asimmetrica è un sistema che usa una coppia di chiavi, cioè la *chiave pubblica* e quella *privata*.
|
Il protocollo SSH utilizza una tecnica di crittografia chiamata `crittografia asimmetrica`. Fondamentalmente, la crittografia asimmetrica è un sistema che usa una coppia di chiavi, cioè la *chiave pubblica* e quella *privata*.
|
||||||
|
|
||||||
La chiave pubblica può essere condivisa con chiunque, avendo come scopo principale quello di criptare i dati, convertendo il messaggio in un codice segreto. Questa chiave viene solitamente inviata ad altri sistemi, per esempio i server, per criptare i dati prima di inviarli su Internet.
|
La chiave pubblica può essere condivisa con chiunque, avendo come scopo principale quello di criptare i dati, convertendo il messaggio in un codice segreto. Questa chiave viene solitamente inviata ad altri sistemi, per esempio i server, per criptare i dati prima di inviarli su Internet.
|
||||||
|
|
||||||
@ -50,53 +50,32 @@ ssh-keygen -t ed25519 -C "<commento>" -f /home/user/.ssh/key_name
|
|||||||
Ecco un esempio:
|
Ecco un esempio:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dado@WORKSTATION03:~
|
ssh-keygen -t ed25519 -C "dado" -f ~/.ssh/key_name
|
||||||
ssh-keygen -t ed25519 -C "dado"
|
|
||||||
Generating public/private ed25519 key pair.
|
Generating public/private ed25519 key pair.
|
||||||
Enter file in which to save the key (~/.ssh/id_ed25519): ~/.ssh/<file_name>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
- <file_name> indica il nome del file in cui sarà salvata la chiave.
|
Poi verrà chiesta una *passphrase* da aggiungere alla coppia di chiavi. Questo aggiunge un ulteriore livello di sicurezza se, in qualsiasi momento, il vostro dispositivo venisse compromesso. Non è obbligatorio aggiungere una passphrase, ma è sempre raccomandato.
|
||||||
|
|
||||||
Poi verrà chiesta una *passphrase* da aggiungere alla coppia di chiavi. Questo aggiunge un ulteriore livello di sicurezza se, in qualsiasi momento, il vostro dispositivo viene compromesso. Non è obbligatorio aggiungere una passphrase, ma è sempre raccomandato.
|
|
||||||
|
|
||||||
Questo comando genera due file nella directory selezionata (comunemente ~/.ssh):
|
Questo comando genera due file nella directory selezionata (comunemente ~/.ssh):
|
||||||
|
|
||||||
- la chiave pubblica con l’estensione `.pub`;
|
- la chiave pubblica con l’estensione `.pub`;
|
||||||
- e quella privata senza estensione.
|
- e quella privata senza estensione.
|
||||||
|
|
||||||
La chiave pubblica può essere vista con un semplice comando:
|
## Caricamento della chiave SSH nella macchina remota
|
||||||
|
|
||||||
|
L'output del comando precedente deve essere copiato nel file `.ssh/authorized_keys` presente sulla macchina remota.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dado@WORKSTATION03:~
|
ssh-copy-id -i ~/.ssh/key_name.pub -p <port_number> <username>@<host>
|
||||||
cat /home/dado/.ssh/<file_name>.pub
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Caricamento della chiave SSH nella macchina remota (server)
|
|
||||||
|
|
||||||
L'output del comando precedente deve essere copiato nel file **.ssh/authorized_keys** presente sulla macchina remota.
|
|
||||||
|
|
||||||
Per prima cosa, Si accede tramite SSH alla macchina remota:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ssh user@indirizzo_ip
|
|
||||||
dado@WORKSTATION03:~
|
|
||||||
ssh root@10.21.81.138 -p 1220 (per una porta differente dalla 22)
|
|
||||||
[15:33:25]root@server:~
|
|
||||||
cd .ssh
|
|
||||||
[15:33:31]root@server:~/.ssh
|
|
||||||
echo ssh-ed25519 ******************************************************* dado >> authorized_keys
|
|
||||||
```
|
|
||||||
|
|
||||||
Oppure, se si preferisce, si può utilizzare Nano ovvero Vim. Tramite il comando `cat .ssh/authorized_keys` o `less .ssh/authorized_keys` è possibile vedere la propria chiave nel file di configurazione.
|
|
||||||
|
|
||||||
### Configurazione SSH sulla macchina locale
|
### Configurazione SSH sulla macchina locale
|
||||||
|
|
||||||
Nel file di configurazione locale, va indicato come raggiungere l'host remoto:
|
Nel file di configurazione locale, va indicato come raggiungere l'host remoto:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dado@WORKSTATION03:~
|
cat .ssh/config
|
||||||
vim .ssh/config
|
|
||||||
host <key_name> #il nome della macchina remota alla quale si accederà
|
host <key_name> #il nome della macchina remota alla quale si accederà
|
||||||
hostname 10.21.81.138 #indirizzo ip della macchina remota
|
hostname 10.21.81.138 #indirizzo ip della macchina remota
|
||||||
user root
|
user root
|
||||||
@ -107,61 +86,11 @@ port 22
|
|||||||
|
|
||||||
### Accedere alla macchina remota
|
### Accedere alla macchina remota
|
||||||
|
|
||||||
Per accedere a una macchina server tramite SSH è necessario conoscere l'indirizzo ip di questa macchina e il nome dell'utente. Ciò è possibile scoprirlo con questi semplici comandi:
|
Ora, per accedere alla macchina basta digitare: `ssh <key_name>`
|
||||||
|
|
||||||
```bash
|
|
||||||
hostname -I
|
|
||||||
192.168.0.115
|
|
||||||
|
|
||||||
whoami
|
|
||||||
dado
|
|
||||||
```
|
|
||||||
|
|
||||||
In assenza della chiave, quindi si può sempre accedere in questo modo:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ssh dado@192.168.0.115
|
|
||||||
```
|
|
||||||
|
|
||||||
Altrimenti, per accedere alla macchina basta digitare:
|
|
||||||
`ssh <key_name>`
|
|
||||||
Ad esempio:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
dado@WORKSTATION03:~
|
|
||||||
ssh mnt-bbb
|
|
||||||
```
|
|
||||||
|
|
||||||
## Aggiungere la Chiave SSH all’Account Git
|
|
||||||
|
|
||||||
Nelle impostazioni del proprio account, aggiungere la propria chiave pubblica nel campo `SSH and GPG keys`.
|
|
||||||
|
|
||||||
Quindi, configurare il file .ssh/config nella macchina locale:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# host gitea.it/dado
|
|
||||||
# hostname 10.97.57.55
|
|
||||||
user <name>
|
|
||||||
IdentityFile /home/user/.ssh/<file>
|
|
||||||
TCPKeepAlive yes
|
|
||||||
port 22
|
|
||||||
```
|
|
||||||
|
|
||||||
Modificare le impostazioni di `git`:
|
|
||||||
`git config --global --edit`
|
|
||||||
|
|
||||||
## Copiare la chiave pubblica in remoto
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ssh-copy-id -i ~/.ssh/id_rsa.pub -p <port_number> <username>@<host>
|
|
||||||
```
|
|
||||||
|
|
||||||
## Riferimenti
|
## Riferimenti
|
||||||
|
|
||||||
- [https://linuxhint.com/enable-ssh-server-debian/](https://linuxhint.com/enable-ssh-server-debian/)
|
- [enable-ssh-server-debian](https://linuxhint.com/enable-ssh-server-debian/)
|
||||||
|
- [SSH](https://wiki.debian.org/it/SSH)
|
||||||
- [https://wiki.debian.org/it/SSH](https://wiki.debian.org/it/SSH)
|
- [connecting-to-github-with-ssh](https://docs.github.com/en/authentication/connecting-to-github-with-ssh)
|
||||||
|
- [generare-chiavi-ssh](https://kinsta.com/it/blog/generare-chiavi-ssh/)
|
||||||
- [https://docs.github.com/en/authentication/connecting-to-github-with-ssh](https://docs.github.com/en/authentication/connecting-to-github-with-ssh)
|
|
||||||
|
|
||||||
- [https://kinsta.com/it/blog/generare-chiavi-ssh/](https://kinsta.com/it/blog/generare-chiavi-ssh/)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user