GNU/Linux >> Linux Esercitazione >  >> Linux

Come digitare la password per più finestre?

Ho uno script che avvia la mia macchina vagabondo, apre più terminali e si connette alla macchina vagante tramite ssh in ogni terminale appena aperto. Il mio problema è che ho bisogno di circa cinque terminali e non voglio digitare manualmente la password per ciascun terminale. C'è un modo per ottenere la password richiesta solo una volta nel terminale principale e utilizzare la stessa password per il comando ssh?

#!/bin/bash
cd /home/kkri/public_html/freitag/vagrant
vagrant up
for run in $(seq 1 $1)
 do
  gnome-terminal --window-with-profile=dark -e "ssh [email protected] -p 2222" --$
 done
gnome-terminal --window-with-profile=git          
clear
echo "~~~ Have fun! ~~~"

Risposta accettata:

In generale (ignorando il vagabondo o altri dettagli specifici del sistema) la soluzione migliore è impostare l'autenticazione con chiavi SSH ed eseguire ssh-agent . Quindi apri le sessioni ssh con qualcosa come:

# load the key to the agent with a 10 s timeout
# this asks for the key passphrase
ssh-add -t10  ~/.ssh/id_rsa  
for x in 1 2 3 ; do 
    ssh .... 
done

Oppure, se non puoi usare le chiavi, puoi truccare qualcosa con sshpass .

read -p "Enter password: " -s SSHPASS ; echo
for x in 1 2 3 ; do 
    sshpass -e ssh ...
done
unset SSHPASS

Anche se con il terminale nel mezzo, questo lascerebbe la password impostata nell'ambiente del terminale. Per aggirare il problema, puoi salvare temporaneamente la password in un file:

read -p "Enter password: " -s SSHPASS ; echo
PWFILE=~/.ssh/secret_password
cat <<< "$SSHPASS" > "$PWFILE"
unset SSHPASS
for x in 1 2 3 ; do 
    sshpass -f "$PWFILE" ssh ...
done
shred --remove "$PWFILE"

Questo non è ancora ottimale poiché c'è la possibilità che la password colpisca il disco, quindi le chiavi sarebbero migliori.


Linux
  1. Come creare un'immagine Windows per OpenStack

  2. Ssh:in che modo Ssh richiede una password quando tutto l'input e l'output vengono reindirizzati?

  3. Come configurare più ambienti di distribuzione per Juju??

  4. Come chown directory per più utenti?

  5. come disabilitare l'accesso SSH con password per alcuni utenti?

Come configurare le chiavi SSH – Sistema operativo Windows?

Come disabilitare l'autenticazione della password SSH su VPS Linux

Come impostare l'autenticazione a più fattori per SSH in Linux

Come installare WSL2 (sottosistema Windows per Linux 2) su Windows 10

Come passare la password al comando SSH in Linux

Come reimpostare una password di amministratore host Windows dimenticata