Ti sei perso tra le chiavi SSH? Ecco come ho risolto con 1Password

Lavori su più server, hai due PC, e ogni volta che apri il terminale è una piccola avventura. Dove ho messo quella chiave? Era su questo PC o sull'altro? Perché dice permission denied?

Se ti suona familiare, continua a leggere

Il problema (che in tanti non ammettono)

Gestire le chiavi SSH è una di quelle cose che sembra semplice finché non hai tre server, due computer e un collega che ti chiede perché non riesci ad accedere alla VM del cliente.

Per un po' me la sono cavata copiando chiavi da un PC all'altro, rinominando file, dimenticandomi quale chiave corrispondeva a quale server. Finché non ho deciso di sistemare le cose per bene.

La soluzione? 1Password come SSH Agent. Le chiavi stanno tutte lì, cifrate, sincronizzate su ogni dispositivo, e il terminale le usa automaticamente senza che tu debba ricordarti nulla.

Cos'è un SSH Agent?

Prima di entrare nel pratico, un secondo di teoria.

Quando ti connetti a un server via SSH, il server chiede: "Chi sei?". Il tuo PC risponde presentando una chiave privata — un file che dimostra la tua identità.

L'SSH Agent è un programma che tiene le chiavi in memoria e le fornisce al terminale quando servono. Normalmente è un processo di sistema. Con 1Password, diventa il tuo portachiavi personale: sicuro, sincronizzato, protetto dal tuo PIN o impronta digitale.

Step 1 - Abilita SSH Agent in 1Password

  1. Apri 1Password
  2. Vai su Impostazioni → Developer
  3. Attiva "Use the SSH Agent"

Fatto. 1Password è ora pronto a fare da intermediario tra il tuo terminale e le tue chiavi.

Step 2 - Salva le tue chiavi in 1Password

Se hai già delle chiavi SSH sul tuo PC (nella cartella ~/.ssh/), importale:

  1. Clicca New Item → SSH Key
  2. Clicca "Add Private Key" → "Import from file"
  3. Seleziona il file della chiave privata — quello senza .pub
  4. Dagli un nome descrittivo, tipo server-produzione o vm-cliente
  5. Salva

La chiave privata non ha estensione (es. id_ed25519). Quella pubblica ha .pub. Importa sempre la privata.

Se non hai ancora una chiave, puoi generarla direttamente da 1Password: New Item → SSH Key → Generate

Step 3 - Configura il file SSH

Ogni connessione SSH può essere configurata nel file ~/.ssh/config. È come una rubrica: invece di scrivere ssh -p 2222 utente@192.168.1.100 ogni volta, scrivi una volta sola le istruzioni e poi usi solo ssh nome-server.

Apri il file (o crealo se non esiste):

macOS / Linux:

nano ~/.ssh/config
Code language: JavaScript (javascript)

Windows (PowerShell):

notepad $env:USERPROFILE\.ssh\config
Code language: PHP (php)

Aggiungi questa configurazione:

macOS:

Host *
    IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"

Host nome-server
    HostName <IP o dominio>
    User <utente>
    Port 22
Code language: HTML, XML (xml)

Linux:

Host *
    IdentityAgent ~/.1password/agent.sock

Host nome-server
    HostName <IP o dominio>
    User <utente>
    Port 22
Code language: HTML, XML (xml)

Windows:

Host *
    IdentityAgent "\\.\pipe\openssh-ssh-agent"

Host nome-server
    HostName <IP o dominio>
    User <utente>
    Port 22
Code language: HTML, XML (xml)

Il blocco Host * in cima vale per tutti i server — non va ripetuto. Per ogni server aggiuntivo, aggiungi semplicemente un nuovo blocco Host.

Salva il file:

  • nano: Ctrl+XYInvio
  • notepad: Ctrl+S

Step 4 - Connettiti

ssh nome-server

1Password ti chiederà di confermare con PIN o impronta digitale la prima volta. Poi si ricorda e non te lo chiede più per quella sessione.

Niente password da ricordare, niente file da cercare.

Step 5 - Secondo PC? Zero fatica

Questo è il punto che mi ha convinto definitivamente.

Sul secondo PC basta:

  1. Installare 1Password e accedere con il proprio account
  2. Abilitare SSH Agent (Impostazioni → Developer → Use the SSH Agent)
  3. Ricreare il file ~/.ssh/config

Le chiavi sono già lì, sincronizzate. Nessun file da copiare, nessuna pennetta USB, nessun "ma dove avevo salvato quella chiave?".

Un consiglio finale

Una volta importate le chiavi in 1Password, puoi eliminare quelle locali in ~/.ssh/. Tenerle in due posti è ridondante — e lasciare file in giro è sempre un rischio inutile.

Se dovessi perdere il PC domani, le tue chiavi sono al sicuro in 1Password. Prendi il nuovo PC, accedi, e sei operativo in cinque minuti.

La sicurezza è un sistema, non un singolo strumento

Proteggere l'accesso ai server con le chiavi SSH è un tassello importante, ma la sicurezza ha molte facce. Se ti interessa approfondire un altro aspetto affascinante — come proteggere i dati personali garantendo l'anonimato senza renderli inutili — ti consiglio di leggere il mio articolo sulla k-anonymity: la tecnica che sta alla base di strumenti come Have I Been Pwned, e che spiega perché puoi verificare se la tua password è stata compromessa senza mai inviarla in chiaro.

Illustrazione che rappresenta la sorpresa di fronte a un problema di sicurezza, come descritto nell'articolo K-anonymity. Design di Veronica Schembri

SSH in pratica: un progetto reale

Se vuoi vedere come la gestione SSH si inserisce in un progetto infrastrutturale completo, ho pubblicato su GitHub nextcloud-oci-terraform: un'infrastruttura self-hosted su Oracle Cloud Free Tier, deployata interamente con Terraform — a costo zero.

L'idea era semplice: smettere di affidarsi a servizi cloud di terze parti per i propri dati e avere tutto sotto controllo, su un server proprio. In pratica si è trasformata in un piccolo ecosistema: Nextcloud per file, calendario e contatti, Jellyfin come media server per lo streaming video, Komga per leggere fumetti e manga direttamente dal browser o usarlo come estensione per leggere dall'app Mihon/Yokai, il tutto monitorato con Prometheus e Grafana e con backup automatici cifrati ogni notte via BorgBackup.

Il punto di ingresso per gestire tutto questo? SSH. Ogni aggiornamento, ogni configurazione, ogni debug parte da una connessione SSH al server — con le chiavi gestite esattamente come descritto in questo post. Avere le chiavi in ordine non è un dettaglio: è quello che rende possibile lavorare in modo fluido su un'infrastruttura del genere senza impazzire.

Link utili:

https://developer.1password.com/docs/ssh/agent
https://man.openbsd.org/ssh_config
https://haveibeenpwned.com/

Related Post

Maggio 14, 2025
Il mio viaggio con AWS SageMaker

Sono entusiasta di condividere che ho recentemente completato l'AI Engineering Bootcamp: Build, Train and Deploy Models with AWS SageMaker della scuola Zero To Mastery tenuto da Patrik Szepesi! Dopo giornate di apprendimento intensivo e progetti pratici, ho acquisito competenze cruciali che mi hanno fatto progredire nel mio percorso come ingegnere AI. Cos'è AWS SageMaker? Per […]

Novembre 30, 2025
Lo sapevate che…oggi ho mandato in crisi la mia memoria muscolare. Due volte.

Sì, avete letto bene: due volte. Perché quando decido di complicarmi la vita, lo faccio con una certa eleganza: passare a una tastiera meccanica split con layout americano mentre costruisco un workflow da tastiera con Linux e Neovim. Prima mossa geniale: passare a una tastiera meccanica split, quelle divise in due metà che ti fanno […]

veronicaschembri
Copyright © Veronica Schembri

Privacy Policy
Cookie Policy
💬