SaltStack: sale tramite SSH

Salt esegue i comandi in un sistema remoto utilizzando salt-minion. Questo è il comportamento normale. In alcuni scenari, è possibile accedere al sistema remoto solo tramite il protocollo SSH. Per questi scenari, Salt fornisce un'opzione per connettere il sistema remoto utilizzando solo il protocollo SSH ed eseguire il comando tramite il livello SSH.

Salt SSHè molto facile da configurare. L'unica configurazione necessaria è specificare i dettagli del sistema remoto in un file speciale chiamato comeRoster file. Questo file di elenco si trova normalmente in/etc/salt/roster. Il file roster conterrà tutte le informazioni riguardanti il ​​sistema remoto e come possiamo collegarci ad esso. Una volta configurati i file roster, tutti i comandi Salt vengono eseguiti utilizzando il filesalt-ssh invece del comando del sale.

File di registro

Il sistema Roster è progettato specificamente per Salt SSH. Questo è progettato come un sistema collegabile. L'unico scopo del sistema di elenco è raccogliere informazioni sul sistema remoto. Il file roster è un fileYAML based configuration file contenente informazioni di sistema remoto come targets. Questi obiettivi sono una struttura dati speciale con un set predefinito di attributi. Un file roster contiene uno o più target e ogni target è identificato da un fileSalt ID.

La struttura di base del file elenco è la seguente:

<Salt ID>:
   host: <host name>
   user: <user name>
   passwd: <password of the user>

Tutti gli altri attributi supportati dal file elenco sono facoltativi. Sono i seguenti:

  • port - Numero di porta SSH.

  • sudo - se eseguire il comando tramite sudo.

  • sudo_user - sudo nome utente.

  • tty - true se sudo è abilitato.

  • priv - chiave privata.

  • timeout - timeout per una connessione SSH.

  • minion_opts - dizionario di minion opts.

  • thin_dir - directory di archiviazione del sistema di destinazione per i componenti del sale.

  • cmd_umask - umask per forzare il comando salt-call.

Il file di elenco di esempio è il seguente:

web:
   host: 192.168.2.1
   user: webuser
   passwd: secret
   sudo: True   
db:
   host: 192.168.2.2

Distribuisci chiavi SSH

Salt SSH genererà una coppia di chiavi pubblica / privata predefinita per gli accessi SSH. Il percorso predefinito sarà /etc/salt/pki/master/ssh/salt-ssh.rsa. Questa chiave può essere distribuita al sistema remoto utilizzando ilssh-copy-id comando come mostrato di seguito.

ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub [email protected]

Esegui comando

L'esecuzione di un comando salt è semplice come cambiare il file salt cli comando in salt-ssh come mostrato di seguito.

salt-ssh '*' test.ping

Comando Raw Shell

Salt SSH fornisce un'opzione (-r) per eseguire un comando grezzo nel sistema remoto bypassando il modulo e le funzioni salt.

salt-ssh '*' -r 'ls'

Targeting con Salt SSH

Targeting del sistema remoto in Salt SSH supporta solo target glob e regex. Poiché Salt SSH è un modulo separato, fornisce solo opzioni limitate al momento e fornirà più funzionalità nel prossimo futuro.