GNU/Linux >> Linux Esercitazione >  >> Linux

aggiungendo la password a .ssh/config

Soluzione 1:

No, non esiste alcun metodo per specificare o fornire sulla riga di comando la password in modo non interattivo per l'autenticazione ssh utilizzando un meccanismo integrato openssh. Almeno non uno di quello che so. Potresti codificare la tua password nello script di attesa, ma non è nemmeno una buona soluzione.

Sicuramente vorrai utilizzare le coppie di chiavi per l'autenticazione senza password, come ha affermato Michael, alla fine la chiave privata è praticamente una grande password nel file.

Soluzione 2:

Per evitare la serie di commenti:Sì, questo è insicuro (nemmeno discutibilmente insicuro). Ti consiglio vivamente di farlo solo in una situazione di laboratorio su una rete isolata o una situazione simile che non coinvolge server di produzione o potenzialmente server di produzione senza un ripristino/formattazione completa.

Volevo configurarlo perché non penso che il mio switch 2950 supporti le chiavi private/pubbliche e spero che a un certo punto ne venga a conoscenza, ma non ci sono ancora arrivato.

Usando un alias e sshpass questo può essere realizzato.

  1. Installa sshpass
  2. Modifica il tuo .ssh/config file per includere il nome utente come elencato nella domanda
  3. Aggiungi un alias al tuo terminale (ho usato .bashrc e sconsiglio le impostazioni gloabl)
  4. Usa alias per accedere al target

Il mio alias di esempio è:

alias ssc='sshpass -pcisco ssh'

Dove "cisco" è la password. Nota che non c'è spazio tra -p e la password.

L'utilizzo è (riferendosi alla domanda):

ssc server1

Nota:questo risponde alla domanda nel titolo solo per coloro che utilizzano i motori di ricerca. Se stai utilizzando server come nell'esempio della domanda, dovrebbero essere utilizzate coppie di chiavi private/pubbliche e non questa risposta

Soluzione 3:

Sì, come accennato in precedenza non c'è modo di salvare semplicemente la password. Consiglierei di utilizzare la chiave ssh per l'autorizzazione.

per prima cosa, genera la tua chiave :

ssh-keygen

Quindi copia la chiave sui tuoi server/desktop :

ssh-copy-id -i .ssh/id_rsa.pub [email protected]:

È tutto. Non ti verrà mai più chiesta la password.

Consiglio anche di rimuovere l'autorizzazione della password in generale, ma dipende da te.

Soluzione 4:

Non c'è modo di farlo con ssh, è il più insicuro possibile.

Come ha detto Danila, potresti usare gli script previsti ma non mi preoccuperei.

Mi chiedo cosa stai cercando di ottenere? Vuoi passare da un server all'altro? In questo caso si desidera configurare e utilizzare ssh-agent sulla propria workstation e abilitare l'inoltro dell'agent sugli host di destinazione; in questo modo lo scambio di credenziali verrà instradato al tuo agente locale senza dover copiare la tua chiave privata in giro.

Soluzione 5:

Uso questo script da ~/.local/bin cartella

#!/usr/bin/bash

ORIG_SSH=/usr/bin/ssh
HOST=$1

SSHPASS=$(grep -Pzo "Host $HOST"'\s*\n((?!Host).*\n)*#PS\s(\N+)\n' ~/.ssh/config|tail -n 2|head -n 1 | sed 's/#PS //')
if [ -n $SSHPASS ]; then
    export SSHPASS
    sshpass -e $ORIG_SSH [email protected]
else
    $ORIG_SSH [email protected]
fi

Il che mi consente di specificare la passphrase come #PS <password> in .ssh/config file.

Ma, come dicono tutti, è meglio usare ssh-keys con ssh-agent quando è possibile


Linux
  1. Ssh:limitare un utente Ssh/scp/sftp a una directory?

  2. Come disabilitare l'accesso SSH con password

  3. Rsync con SSH che richiede la password remota

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

  5. SSH non chiede la password, dà il permesso negato immediatamente

Test della password SSH con Hydra su Kali Linux

Come disabilitare l'autenticazione della password SSH su VPS Linux

Utilizzo del file di configurazione SSH

Come passare la password al comando SSH in Linux

Esecuzione di due server SSH

Come scappare! nella parola d'ordine?