GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiungi la chiave pubblica al file known_hosts

Ecco come l'ho fatto.

  1. Genera una chiave sul server host. Utilizzando il comando seguente.

*ssh-keyscan -t rsa nome-server completo

  1. Ora copia la sezione evidenziata (nell'immagine) e aggiungi questa chiave al file "known_host" sul server di origine. Naturalmente, la posizione di questo file potrebbe essere diversa per i diversi ambienti.

Ho risposto a una risposta quasi simile su SuperUser pochi giorni fa. Le parti importanti:

  • Il formato è diverso
  • Esistono diverse chiavi host (tipi) su ciascun server (assicurati di incollare quella effettivamente utilizzata)
  • C'è ssh-keyscan che può creare il formato per te

Altrimenti basta prefissare la tua chiave con l'indirizzo IP del server (puoi aggiungere anche il nome host, dopo la virgola), rimuovere il commento dalla fine della riga e sei a posto. Il formato quindi avrà questo aspetto:

11.22.33.44 ssh-rsa AADGD...

E un'altra nota, se usi HashKnownHosts yes (Debian e Ubuntu lo fanno), devi ripetere l'hash del tuo known_hosts come:

ssh-keygen -Hf ~/.ssh/known_hosts

Avendo appena incontrato questo problema, ecco come l'ho affrontato:

Nel tempo, copiando meccanicamente i file tramite

ssh-keyscan server-name >> ~/.ssh/known_hosts

mi ha dato voci duplicate in .ssh/known_hosts.

Altri metodi manuali mi richiedevano di creare il .ssh directory non esisteva già, ecc.

Ho deciso di lasciare ssh gestiscilo:

ssh -o StrictHostKeyChecking=no server-name ls

Il -o StrictHostKeyChecking=no l'opzione risponde automaticamente "sì" al

The authenticity of host 'server-name (12.345.678.900)' can't be established.
RSA key fingerprint is XXXXXXX.
Are you sure you want to continue connecting (yes/no)?

messaggio (inserisci qui tutti gli avvertimenti di sicurezza sulla connessione casuale a macchine che non conosci).

Il ls command è solo un comando fluff che verrà eseguito e costringerà SSH a disconnettersi al termine. Puoi cambiarlo in qualsiasi comando fluff che ti piace.

ssh si occuperà di creare il .ssh dir (se necessario), aggiungendo solo una copia della chiave, ecc.

Piattaforma:macOS 10.14


Linux
  1. Un piccolo file SSH copia la magia sulla riga di comando

  2. Ssh - Riceve ancora una richiesta di password con Ssh con l'autenticazione con chiave pubblica?

  3. Ssh:passare le password a uno script?

  4. Come interrompere l'aggiunta di IP da EC2 a known_hosts per ssh?

  5. SSH - Come includere il comando -t nel file ~/.ssh/config

Come impostare l'autenticazione basata su chiave Ssh per Github utilizzando il file ~/.ssh/config?

Come aggiungere la chiave pubblica SSH al server

Come aggiungere la chiave SSH per l'accesso SSH cPanel

Come aggiungere la mia chiave SSH a Github/Bitbucket?

Come aggiungere la chiave SSH al codice VS e connettersi a un host

Come convertire la chiave privata di PuTTY (.ppk) in chiave SSH