Cela fait longtemps que je recherche cela, je voudrais savoir s'il est possible de passer des mots de passe dans un script shell? Beaucoup de réponses sont retournées sans réponse. Récemment, j'ai lu un article indiquant comment passer des mots de passe dans un script shell. J'ai essayé cela, mais cela ne semble pas fonctionner. Voici le lien . Quelqu'un peut-il vérifier et revenir en arrière? Veuillez également me dire qu'il existe un moyen de passer des mots de passe dans un script shell? Si aucun pls ne me dit comment linux obtient l'entrée pour le mot de passe?
help '\read'
.zsh
elle est réalisable à traversread -s 'pw?Prompt text'
, oùpw
est une variable où le mot de passe sera placé et-s
est un drapeau pour masquer l'entrée.À quel programme souhaitez-vous transmettre un mot de passe?
Le script sur le lien fonctionne pour moi. Notez qu'il ne s'agit pas d'un script shell mais d'un script expect (nécessite l'
expect
installation du package`). L'utilisation de expect est un moyen courant d'automatiser des programmes interactifs basés sur du texte.Les
ssh
connexions non interactives sont souvent effectuées à l'aide d'une authentification basée sur des clés avec une phrase secrète vide.Certains autres programmes (comme
sudo
) ont des options pour lire un mot de passe depuis stdin.Fournir un mot de passe comme option de ligne de commande est souvent un problème de sécurité car sur la plupart des systèmes, tout utilisateur peut voir les processus des autres utilisateurs, y compris les arguments de ligne de commande à l'aide d'outils simples comme
ps
.la source
ssh-keygen
pour créer une clé d'authentification (appuyez simplement sur Entrée lorsque vous êtes invité à saisir une phrase secrète) et copiez-la vers l'utilisateur distant à l'aide dessh-copy-id
.Si l'authentification par clé est activée pour sshd (c'est par défaut) ssh sera alors pas vous demander un mot de passe.Un script ne devrait jamais vraiment gérer les mots de passe. Demandez à l'application qui a besoin du mot de passe de le demander lui-même, ou si ce n'est pas possible, trouvez un meilleur moyen d'authentification avec l'application. Veuillez lire http://mywiki.wooledge.org/BashFAQ/069
la source
Il existe un moyen de stocker les mots de passe dans un script bash mais vous devez crypter le script afin que personne ne puisse le lire ou exécuter n'importe quel type de débogueur dessus pour voir exactement ce qu'il fait. Pour crypter un script bash / shell et qu'il soit réellement exécutable, essayez de le copier et de le coller ici
Sur la page ci-dessus, tout ce que vous avez à faire est de soumettre votre script (vous pouvez d'abord soumettre un exemple de script pour votre tranquillité d'esprit). Un fichier zip sera généré pour vous. Faites un clic droit sur le lien de téléchargement et copiez l'URL qui vous est fournie. Ensuite, accédez à votre boîte UNIX et effectuez les étapes suivantes.
Installation:
Ce que la commande d'installation ci-dessus fera pour vous:
Il installera le script crypté dans le répertoire
/var/tmp/KINGLAZY/SHIELDX-(your-script-name)
.Il placera un lien vers ce script crypté dans le répertoire que vous spécifiez en remplacement de
/home/(your-username)
- de cette façon, il vous permet d'accéder facilement au script sans avoir à taper le chemin absolu.Garantit que PERSONNE ne peut modifier le script - Toute tentative de modification du script crypté le rendra inutilisable ... jusqu'à ce que ces tentatives soient arrêtées ou supprimées.
Garantit que personne ne peut en faire de copie. Personne ne peut copier votre script dans un endroit isolé et essayer de le contourner pour voir comment cela fonctionne. Toutes les copies du script doivent être des liens vers l'emplacement d'origine que vous avez spécifié lors de l'installation.
REMARQUE:
Je ne pense pas que cela fonctionne pour les scripts interactifs qui invitent l'utilisateur à répondre. Les valeurs doivent être codées en dur dans le script. Le chiffrement garantit que personne ne peut réellement voir ces valeurs, vous n'avez donc pas à vous en soucier.
la source
vous pouvez simplement faire quelque chose comme ça.
la source
la source