Utilizzo delle chiavi private SSH nell'ambiente di produzione

2

Ho bisogno di scp un sacco di file da una scatola di produzione al mio ambiente di sviluppo. Sono uno sviluppatore e ho limitato l'accesso in lettura alle macchine di produzione. Invece di inserire la password per ogni file, ho voluto creare una coppia di chiavi in produzione e archiviare la chiave pubblica in authorized_keys sulla mia macchina dev.

La chiave è per il mio login LDAP alla produzione. È sicuro? Può qualcosa andare storto qui? Grazie.

Le macchine di produzione non sono rivolte verso il web. Le macchine si trovano nei data center aziendali e sono "presumibilmente accessibili" solo all'interno della rete aziendale.

    
posta pslk 23.09.2014 - 14:18
fonte

1 risposta

2

Se stai facendo questo per evitare di inserire password, allora questo implica che tu eseguirai un agente SSH su Production, o manterrai una chiave privata non criptata lì. Se è il secondo, gli amministratori di Production avranno accesso alla tua casella di sviluppo.

Ma se sto leggendo correttamente tra le righe, stai usando questo approccio come soluzione alternativa perché non puoi aggiungere la tua chiave di sviluppo a authorized_keys su Production. In tal caso, c'è un modo migliore per ottenere quello che vuoi.

Se si utilizza OpenSSH, è possibile evitare di immettere la password più volte anche con l'accesso basato su password, utilizzando la condivisione della connessione SSH. Una volta configurato questo, SSH nel server normalmente in una finestra, digitando la password normalmente. In un'altra finestra, esegui la copia e il tuo client SCP trova e utilizza la connessione esistente senza richiedere l'immissione della password.

Per configurarlo:

$ mkdir ~/.ssh/cm_socket

E aggiungi quanto segue al tuo ~/.ssh/config :

ControlMaster auto
ControlPath ~/.ssh/cm_socket/%C
ControlPersist no

Dopo questo, SSH e SCP cercheranno una connessione condivisa per impostazione predefinita. Se vuoi fare una seconda connessione non condivisa per qualche motivo, puoi aggiungere -S none alla tua riga di comando.

Per maggiori informazioni:

  • man ssh_config e cerca ControlMaster, ControlPath e ControlPersist
  • link
  • link
risposta data 06.05.2015 - 17:34
fonte

Leggi altre domande sui tag