GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie gebe ich ein Passwort für mehrere Windows ein?

Ich habe ein Skript, das meine vagabundierende Maschine startet, mehrere Terminals öffnet und sich in jedem neu geöffneten Terminal über ssh mit der vagabundierenden Maschine verbindet. Mein Problem ist, dass ich etwa fünf Terminals benötige und das Passwort nicht für jedes Terminal manuell eingeben möchte. Gibt es eine Möglichkeit, nur einmal im Hauptterminal nach dem Passwort gefragt zu werden und dasselbe Passwort für den ssh-Befehl zu verwenden?

#!/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! ~~~"

Akzeptierte Antwort:

Im Allgemeinen (ignorieren Sie vagrant oder andere systemspezifische Details) ist es am besten, die Authentifizierung mit SSH-Schlüsseln einzurichten und ssh-agent auszuführen . Öffnen Sie dann die SSH-Sitzungen mit etwas wie:

# 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

Oder, wenn Sie keine Schlüssel verwenden können, könnten Sie etwas mit sshpass manipulieren .

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

Obwohl sich das Terminal in der Mitte befindet, würde dies das Passwort in der Umgebung des Terminals festlegen lassen. Um dies zu umgehen, könnten Sie das Passwort vorübergehend in einer Datei speichern:

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"

Dies ist immer noch nicht optimal, da die Möglichkeit besteht, dass das Passwort auf die Festplatte trifft, also wären Schlüssel besser.


Linux
  1. So erstellen Sie ein Windows-Image für OpenStack

  2. Ssh – Wie fragt Ssh nach einem Passwort, wenn alle Ein- und Ausgaben umgeleitet werden?

  3. Wie konfiguriere ich mehrere Bereitstellungsumgebungen für Juju?

  4. Wie kann man git dazu bringen, beim Pull nicht nach dem Passwort zu fragen?

  5. Rsync mit SSH-Aufforderung zur Eingabe des Remote-Passworts

Wie richte ich SSH-Schlüssel ein – Windows-Betriebssystem?

So deaktivieren Sie die SSH-Passwortauthentifizierung auf Linux VPS

So richten Sie die Multi-Faktor-Authentifizierung für SSH unter Linux ein

So installieren Sie WSL2 (Windows-Subsystem für Linux 2) unter Windows 10

So übergeben Sie das Passwort an den SSH-Befehl in Linux

So setzen Sie ein vergessenes Windows-Host-Administratorkennwort zurück