Wenn ich das laufen lasse:
ssh user@server 'mysql -u user -p'
Wenn ich nach dem MySQL-Passwort gefragt werde und mit der Eingabe beginne, wird das Passwort auf dem Bildschirm angezeigt. Wie kann ich das verhindern? Wenn ich mich über anmelde ssh
und dann den MySQL-Befehl ausführe, funktioniert alles einwandfrei.
Antworten:
Wenn Sie einen Remote-Befehl zum Ausführen bereitstellen, weist SSH kein tty zu, sodass der Remote-Befehl das Echo nicht deaktivieren kann. Sie können SSH mit der folgenden
-t
Option zwingen, ein tty anzugeben :Die entsprechende Option (für
-o
oder für die Konfigurationsdatei) lautetRequestTTY
. Ich würde davor warnen, es in config zu verwenden, da es unerwünschte Auswirkungen auf nicht interaktive Befehle haben kann .quelle
RequestTTY
inman 5 ssh_config
.Speichern des Passworts in einer geschützten Optionsdatei
Wenn Sie [*] der Sicherheit des Remotecomputers vertrauen können , können Sie das Kennwort in einer ordnungsgemäß geschützten Optionsdatei speichern, wie im Kapitel Richtlinien für Endbenutzer für die Kennwortsicherheit des Handbuchs empfohlen , ohne dass Sie jeweils eine Nachricht senden
ssh
oder eingeben müssen Zeit.Insbesondere können Sie im Abschnitt [client] der Datei
.my.cnf
in Ihrem Ausgangsverzeichnis eine Zeile hinzufügen :Natürlich müssen Sie verhindern, dass diese Datei für andere als Sie selbst zugänglich ist, indem Sie den Dateizugriffsmodus auf 400 oder 600 einstellen, z
Dann kannst du sowas benutzen
Wo
user110971
ist der Benutzername Ihres Kontos?Erzwingen, dass ssh eine Pseudotty (
ssh -t
) zuweistDieses Problem tritt jedes Mal auf, wenn Sie einen Befehl senden
ssh
und die Eingabe einfügen müssen, da standardmäßigssh
keine Pseudotty zugewiesen wird.Sie können die Zuweisung von tty mit der Option erzwingen
-t
(bei Bedarf auch mehr als eine):Wie Sie lesen können diesen Debian Post (Jul_11_2008) etwa
sudo
ist es ein altes Problem , das zu wiederholen liebt:Hinweis:
[*] Wenn Sie sich darauf verlassen können, dass das Kennwort in einer Datei gespeichert ist, auf die nur Sie und root auf dem Arbeitsclient zugreifen können.
Wenn es möglich ist, den Remotecomputer unter einem anderen Betriebssystem neu zu starten oder die Festplatte zu entfernen, kann der Computer nicht als vollständig sicher angesehen werden. In diesem Fall ist die Datenbank selbst jedoch nicht sicher.
quelle
Die Mount-Option "hidepid" für Prozesse ist ebenfalls hilfreich. Dadurch werden Ihre Befehlszeilen in der Prozessliste für andere Benutzer unsichtbar. fstab Beispiel:
quelle