Passwort im ssh-Skript senden

2

Ich habe ein Skript erstellt, das sshconnectfür einige Benutzer aufgerufen wird usertypeund 2 Variablen sitenumberakzeptiert. Daher verwenden Benutzer das Skript, um mit dem Benutzertyp auf diese Seitennummer zu ssh zuzugreifen.

Zum Beispiel gibt der Benutzer Folgendes ein: sshconnect read@11und das Skript lässt den Benutzer ssh auf Site-Nummer 11 (einer IP-Adresse zugeordnet) mit dem gelesenen Benutzernamen.

In diesem Fall stellt der Benutzer eine Verbindung zu dieser Site her und wird aufgefordert, das Kennwort für den gelesenen Benutzernamen einzugeben. Ich möchte jedoch nicht, dass der Benutzer das Kennwort selbst kennt oder eingibt, sondern dass das Skript das Kennwort sendet.

Gibt es eine Möglichkeit, das Kennwort im Skript zu senden?

Danke, Peter

Peter Hayek
quelle

Antworten:

2

Es gibt verschiedene Möglichkeiten. Sie können expectSkript oder einfaches verwenden sshpass, aber das Kennwort wird im Skript selbst geschrieben, damit der Benutzer es von dort aus lesen kann (dies ist keine Sicherheit).

Zusamenfassend:

sshpass -p password ssh user@host

Die bessere Lösung ist die passwortlose Authentifizierung mit einem Schlüsselpaar.

Kurz gesagt, Sie erstellen ein neues Schlüsselpaar, speichern es auf dem Server und integrieren es in Ihr Skript:

ssh-keygen -t rsa -f key_file -P '' # prepare the key pair
ssh-copy-id user@host               # enter the password once
ssh -i key_file user@host           # logs in without password
Jakuje
quelle