Files
novemila/ilnostropianetaselvaggio/public/search/index.json

26 lines
17 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"pages": [{"date":"2024-07-12","image":"","imageAlt":"","link":"https://www.ilnostropianetaselvaggio.it/pages/about/","summary":"Breve descrizione di chi siamo, dei nostri intenti e del nostro progetto","tags":["about","dado","yak"],"text":"ciao!\nsiamo due amici, andrea e davide, aka yak e dado. abbiamo ideato questo progetto, il nostro pianeta selvaggio, un po\u0026rsquo; per gioco, immaginandolo come il nostro spazio, ossia uno spazio personale e anarchico (appunto selvaggio), nel quale portare le nostre passioni, raccontarci e, sopratutto, divertirci.\noltre al presente sito web, come potete leggere dalla homepage, abbiamo in cantiere diversi servizi, tra cui un podcast, che partirà a breve!\nentrambi appassionati di free software, di cinema e di informatica, ma ognuno con le sue peculiarità: andrea si occupa principalmente di gestire il podcast e tutta la parte audio, mentre davide gestisce l\u0026rsquo;infrastruttura informatica che ci sta dietro.\nringraziamo anche valentina per i bei loghi!\n","title":"About"},{"date":"2024-07-06","image":"","imageAlt":"","link":"https://www.ilnostropianetaselvaggio.it/posts/ssh/","summary":"Come creare chiavi ssh per collegarsi a macchine remote","tags":["linux","server","ssh"],"text":"ssh è un protocollo client / server utilizzato per i login remoti. utilizzando la crittografia per l\u0026rsquo;autenticazione, ssh fornisce un metodo crittografato per accedere al server o ad un\u0026rsquo;altra macchina.\ninstallazione ssh sudo apt install openssh-server sudo systemctl start ssh sudo systemctl enable ssh #abilita ssh all\u0026#39;accensione della macchina 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.\nla 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.\ndaltra parte, la chiave privata è quella che deve rimanere segreta e viene usata per decifrare i dati crittografati con la chiave pubblica. senza di essa, è impossibile decodificare le informazioni criptate.\nquesto metodo permette al client e al server di mantenere un canale di comunicazione sicuro.\necco cosa succede in background quando si avvia una connessione ssh ad un server:\nil client invia la chiave pubblica al server; il server chiede al client di firmare un messaggio casuale criptato con la chiave pubblica usando la chiave privata; il client firma il messaggio e inoltra il risultato al server; viene stabilita una connessione sicura tra il client e il server. la coppia di chiavi viene creata sulla propria macchina (client) in questo modo:\nssh-keygen -t ed25519 -c \u0026#34;\u0026lt;commento\u0026gt;\u0026#34; -f /home/user/.ssh/key_name dove ed25519 indica lalgoritmo utilizzato per creare la firma digitale della coppia di chiavi. se il sistema lo supporta, ed25519 è il miglior algoritmo per creare coppie di chiavi ssh; il flag -c è utilizzato per fornire un commento personalizzato alla fine della chiave pubblica, che di solito è lemail o lidentificazione del creatore della coppia di chiavi. ecco un esempio:\ndado@workstation03:~ ssh-keygen -t ed25519 -c \u0026#34;dado\u0026#34; generating public/private ed25519 key pair. enter file in which to save the key (~/.ssh/id_ed25519): ~/.ssh/\u0026lt;file_name\u0026gt; \u0026lt;file_name\u0026gt; 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 viene compromesso. non è obbligatorio aggiungere una passphrase, ma è sempre raccomandato.\nquesto comando genera due file nella directory selezionata (comunemente ~/.ssh):\nla chiave pubblica con lestensione .pub; e quella privata senza estensione. la chiave pubblica può essere vista con un semplice comando:\ndado@workstation03:~ cat /home/dado/.ssh/\u0026lt;file_name\u0026gt;.pub caricamento della chiave ssh nella macchina remota (server) l\u0026rsquo;output del comando precedente deve essere copiato nel file .ssh/authorized_keys presente sulla macchina remota.\nper prima cosa, si accede tramite ssh alla macchina remota:\nssh 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 \u0026gt;\u0026gt; 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.\nconfigurazione ssh sulla macchina locale nel file di configurazione locale, va indicato come raggiungere l\u0026rsquo;host remoto:\ndado@workstation03:~ vim .ssh/config host \u0026lt;key_name\u0026gt; #il nome della macchina remota alla quale si accederà hostname 10.21.81.138 #indirizzo ip della macchina remota user root identityfile ~/.ssh/\u0026lt;file_name\u0026gt; #indicare il percorso della chiave ssh privata tcpkeepalive yes port 22 accedere alla macchina remota per accedere a una macchina server tramite ssh è necessario conoscere l\u0026rsquo;indirizzo ip di questa macchina e il nome dell\u0026rsquo;utente. ciò è possibile scoprirlo con questi semplici comandi:\nhostname -i 192.168.0.115 whoami dado in assenza della chiave, quindi si può sempre accedere in questo modo:\nssh dado@192.168.0.115 altrimenti, per accedere alla macchina basta digitare: ssh \u0026lt;key_name\u0026gt; ad esempio:\ndado@workstation03:~ ssh mnt-bbb aggiungere la chiave ssh allaccount git nelle impostazioni del proprio account, aggiungere la propria chiave pubblica nel campo ssh and gpg keys.\nquindi, configurare il file .ssh/config nella macchina locale:\n# host gitea.it/dado # hostname 10.97.57.55 user \u0026lt;name\u0026gt; identityfile /home/user/.ssh/\u0026lt;file\u0026gt; tcpkeepalive yes port 22 modificare le impostazioni di git: git config --global --edit\ncopiare la chiave pubblica in remoto ssh-copy-id -i ~/.ssh/id_rsa.pub -p \u0026lt;port_number\u0026gt; \u0026lt;username\u0026gt;@\u0026lt;host\u0026gt; collegamenti https://linuxhint.com/enable-ssh-server-debian/\nhttps://wiki.debian.org/it/ssh\nhttps://docs.github.com/en/authentication/connecting-to-github-with-ssh\nhttps://kinsta.com/it/blog/generare-chiavi-ssh/\n","title":"Creazione e gestione chiavi SSH"},{"date":"2024-05-04","image":"","imageAlt":"","link":"https://www.ilnostropianetaselvaggio.it/posts/snikket/","summary":"Snikket Si tratta di un progetto che, tramite l\u0026rsquo;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.\nDNS # Domain TTL Class Type Target chat.example.com. 300 IN A 203.0.113.123 groups.chat.example.com 300 IN CNAME chat.example.com. share.chat.example.com 300 IN CNAME chat.example.com. Docker apt update \u0026amp;\u0026amp; apt upgrade Per Debian, seguire le istruzioni alla pagina ufficiale.","tags":["container","docker","im","xmpp"],"text":"snikket si tratta di un progetto che, tramite l\u0026rsquo;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.\ndns # domain ttl class type target chat.example.com. 300 in a 203.0.113.123 groups.chat.example.com 300 in cname chat.example.com. share.chat.example.com 300 in cname chat.example.com. docker apt update \u0026amp;\u0026amp; apt upgrade per debian, seguire le istruzioni alla pagina ufficiale. in particolare:\n# add docker\u0026#39;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 \\ \u0026#34;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \\ $(. /etc/os-release \u0026amp;\u0026amp; echo \u0026#34;$version_codename\u0026#34;) stable\u0026#34; | \\ sudo tee /etc/apt/sources.list.d/docker.list \u0026gt; /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 mkdir /etc/snikket cd /etc/snikket # and then download our docker-compose.yml file: curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose quindi creare il file di configurazione di snikket:\nvim /etc/snikket # the primary domain of your snikket instance snikket_domain=chat.example.com # an email address where the admin can be contacted # (also used to register your let\u0026#39;s encrypt account to obtain certificates) snikket_admin_email=you@example.com firewall ufw default allow outgoing \u0026amp;\u0026amp; ufw default deny incoming ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw allow 5222/tcp ufw allow 5269/tcp ufw allow 5000/tcp ufw allow 3478 ufw allow 3479 ufw allow 5349 ufw allow 5350 ufw allow 49152:65535/udp questo il risultato:\n\u0026gt; ufw status numbered status: active to action from -- ------ ---- [ 1] 22/tcp allow in anywhere [ 2] 80/tcp allow in anywhere [ 3] 443/tcp allow in anywhere [ 4] 5222/tcp allow in anywhere [ 5] 5269/tcp allow in anywhere [ 6] 5000/tcp allow in anywhere [ 7] 3478 allow in anywhere [ 8] 3479 allow in anywhere [ 9] 5349 allow in anywhere [10] 5350 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:\ntcp only\n80/443 web interface and group file sharing service (http(s)) 5222 client app connections (client to server) (xmpp-c2s) 5269 federation with other snikket servers (server to server) (xmpp-s2s) 5000 file transfer proxy (proxy65) tcp and udp\n3478/3479 audio/video data proxy negotiation and ip discovery (stun/turn) 5349/5350 audio/video data proxy negotiations and ip discovery over tls (stun/turn over tls) udp only\n49152-65535 audio/video data proxy (turn data, see below) avviare il servizio col comando:\ndocker compose up -d creazione utente admin 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 laccesso. troubleshooting https://snikket.org/service/help/setup/troubleshooting/\n# checking for errors cd /etc/snikket docker-compose exec snikket_certs cat /var/log/letsencrypt/errors.log # force the renewal of certificates cd /etc/snikket docker-compose exec snikket_certs su letsencrypt -- -c \u0026#34;certbot renew --config-dir /snikket/letsencrypt --cert-path /etc/ssl/certbot --force-renew\u0026#34; analisi docker-compose.yml \u0026gt; cat /etc/snikket/docker-compose.yml version: \u0026#34;3.3\u0026#34; services: # nome del servizio snikket_proxy: container_name: snikket-proxy image: snikket/snikket-web-proxy:beta # file con le variabili env_file: snikket.conf # se si usa la modalità di rete host per un container, lo stack di rete del container non è isolato dall\u0026#39;host e al container non viene assegnato un proprio indirizzo ip. per esempio, se si esegue un container che si lega alla porta 80 e si usa la rete host, l\u0026#39;applicazione del container è disponibile sulla porta 80 dell\u0026#39;indirizzo ip dell\u0026#39;host. network_mode: host # i volumi memorizzano e gestiscono i dati persistenti generati dai container effimeri. consentono la persistenza dei dati anche dopo la rimozione o laggiornamento di un container. volumes: # il volume snikket_data viene montato nella directory /snikket del container snikket_proxy - snikket_data:/snikket - acme_challenges:/var/www/html/.well-known/acme-challenge # la clausola restart: \u0026#34;unless-stopped\u0026#34; indica il comportamento di riavvio del servizio in caso di interruzione o arresto. # nel caso di restart: \u0026#34;unless-stopped\u0026#34;, docker riavvierà automaticamente il container a meno che non venga esplicitamente arrestato dall\u0026#39;utente. questa opzione è utile per garantire che il servizio torni in esecuzione automaticamente dopo eventuali problemi o riavvii del sistema. tuttavia, se l\u0026#39;utente decide di arrestare manualmente il container, questa istruzione impedisce il riavvio automatico. restart: \u0026#34;unless-stopped\u0026#34; snikket_certs: container_name: snikket-certs image: snikket/snikket-cert-manager:beta env_file: snikket.conf volumes: - snikket_data:/snikket - acme_challenges:/var/www/.well-known/acme-challenge restart: \u0026#34;unless-stopped\u0026#34; snikket_portal: container_name: snikket-portal image: snikket/snikket-web-portal:beta network_mode: host env_file: snikket.conf restart: \u0026#34;unless-stopped\u0026#34; snikket_server: container_name: snikket image: snikket/snikket-server:beta network_mode: host volumes: - snikket_data:/snikket env_file: snikket.conf restart: \u0026#34;unless-stopped\u0026#34; volumes: acme_challenges: snikket_data: cli dei volumi \u0026gt; docker volume help usage:\tdocker 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 lapplicazione e le sue risorse. nel dettaglio questi comandi e il loro rapporto con i volumi:\ndocker compose up: crea e avvia lapplicazione, 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 dellapplicazione. 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 cd /etc/snikket docker compose down docker compose pull docker compose up -d per maggiori dettagli: https://snikket.org/service/help/setup/upgrading/\ncollegamenti https://clarintuxmail.eu.org/articles/server3.html https://snikket.org/service/quickstart/ https://docs.lugbz.org/install-snikket.html https://wiki.xmpp-it.net/index.php/installazione_di_un_server_snikket https://snikket.org/service/help/advanced/firewall/ https://snikket.org/ ","title":"Configurazione di un server XMPP"},{"date":"2024-04-27","image":"","imageAlt":"","link":"https://www.ilnostropianetaselvaggio.it/posts/hello-world/","summary":"Our new web home Our services Al momento, sono self-hostati i seguenti servizi:\nCastopod: una piattaforma open-source per la pubblicazione e la gestione di podcast; FreshRSS Gitea Memos: una piattaforma di note e condivisione di contenuti che consente di organizzare e condividere facilmente le proprie idee e informazioni; ntfy Vaultwarden: un gestore di password open-source; Nextcloud Snikket: una piattaforma di messaggistica istantanea basata sul protocollo XMPP; Mollysocket Per il monitoraggio pubblico dell\u0026rsquo;istanza e dei servizi annessi, vedere: Kuma","tags":["welcome"],"text":"our new web home our services al momento, sono self-hostati i seguenti servizi:\ncastopod: una piattaforma open-source per la pubblicazione e la gestione di podcast; freshrss gitea memos: una piattaforma di note e condivisione di contenuti che consente di organizzare e condividere facilmente le proprie idee e informazioni; ntfy vaultwarden: un gestore di password open-source; nextcloud snikket: una piattaforma di messaggistica istantanea basata sul protocollo xmpp; mollysocket per il monitoraggio pubblico dell\u0026rsquo;istanza e dei servizi annessi, vedere: kuma\nscheduled rocketchat matrix (dendrite) chatmail mailcow wireguard vpn \u0026hellip; ","title":"Hello, world"}]
}