Si je lance ceci:
ssh user@server 'mysql -u user -p'
Quand il me demande le mot de passe MySQL et que je commence à taper, le mot de passe est visible à l'écran. Comment puis-je empêcher cela? Si je me connecte via ssh
puis exécute la commande MySQL, tout fonctionne correctement.
Réponses:
Si vous fournissez une commande à distance à exécuter, SSH n'alloue pas de tty. Par conséquent, la commande à distance ne peut pas désactiver l'écho. Vous pouvez forcer SSH à fournir un terminal en utilisant l'
-t
option suivante:L'option équivalente (pour
-o
ou pour le fichier de configuration) estRequestTTY
. Je vous déconseille de l'utiliser dans config car cela peut avoir des effets indésirables sur les commandes non interactives .la source
RequestTTY
dansman 5 ssh_config
.Stocker le mot de passe dans un fichier d'options protégé
Si vous pouvez faire confiance à [*] la sécurité de l'ordinateur distant, vous pouvez stocker le mot de passe dans un fichier d'options correctement protégé, comme suggéré dans le chapitre Conseils pour la sécurité des mots de passe du manuel du manuel, sans qu'il soit nécessaire de communiquer via
ssh
ou de taper chaque temps.Plus précisément, vous pouvez ajouter une ligne dans la section [client] du fichier
.my.cnf
de votre répertoire personnel:Bien sûr, vous devez empêcher ce fichier d’être accessible à qui que ce soit en définissant le mode d’accès au fichier sur 400 ou 600 avec, par exemple:
Ensuite, vous pouvez utiliser quelque chose comme
où
user110971
est le nom d'utilisateur de votre compte.Forcer le SSH à allouer un pseudo tty (
ssh -t
)Ce problème se produit chaque fois que vous envoyez une commande
ssh
et que vous devez insérer une entrée car, par défaut,ssh
aucun pseudo-tty ne sera alloué.Vous pouvez forcer l'allocation de tty avec l'option
-t
(voire plusieurs si nécessaire):Comme vous pouvez le lire dans ce poste Debian (Jul_11_2008) au sujet
sudo
, il est un vieux problème qui aime se reproduisent:Remarque:
[*] Si vous pouvez compter sur le mot de passe dans un fichier accessible uniquement par vous et racine sur leclient actif .
S'il est possible de redémarrer l'ordinateur distant en changeant de système d'exploitation ou de retirer le disque dur, l'ordinateur ne peut pas être considéré comme totalement sécurisé ... mais dans ce cas, la base de données elle-même ne sera pas sécurisée.
la source
L'option de montage "hidepid" pour proc fs est également utile. Cela rend vos lignes de commande invisibles dans la liste des processus pour les autres utilisateurs. exemple de fstab:
la source