Risoluzione dei problemi

Perché la mia chiave SSH non viene accettata?

Risolvi una chiave SSH che il server rifiuta in Wardterm: aggiungi la chiave pubblica ad authorized_keys, controlla i permessi e l'utente, poi leggi il log.

Cosa vedi

L'app mostra Il server non ha accettato la chiave. I dettagli dicono:

authentication failed for deploy@203.0.113.10

Quando è la chiave stessa a non essere utilizzabile, i dettagli iniziano con key not valid:. Nel Registro connessioni il tentativo compare come Non riuscita, password o chiave errata.

Perché succede

Il server accetta una chiave solo quando la sua metà pubblica è nel file ~/.ssh/authorized_keys dell'utente con cui accedi, e solo quando quel file e la sua cartella non sono scrivibili da altri.

Cosa fare

  1. Controlla l'Utente del server: la chiave deve stare nel file authorized_keys di quell'utente.
  2. Metti la chiave sul server con Aggiungi a un server in Chiavi. L'app accede una volta con la password e aggiunge la chiave pubblica. Vedi Chiavi SSH.
  3. Oppure aggiungila a mano: copia la chiave pubblica in Chiavi, poi sul server:
    mkdir -p ~/.ssh
    echo 'ssh-ed25519 AAAA... you@example' >> ~/.ssh/authorized_keys
  4. Sistema i permessi, che il server controlla:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  5. Una chiave tenuta su un solo dispositivo firma solo lì. Su un altro dispositivo, usa un'altra chiave o aggiungi anche la chiave di quel dispositivo. Vedi Chiavi su questo dispositivo.
  6. Leggi il log del server, che dice perché ha rifiutato, per esempio proprietario o permessi sbagliati:
    sudo journalctl -u ssh -u sshd -n 50

La stessa prova con OpenSSH, che elenca ogni chiave che offre:

ssh -v -i ~/.ssh/id_ed25519 deploy@203.0.113.10