3 votes

Puis-je faire en sorte que scp me demande un nom d'utilisateur et un mot de passe ?

J'appelle scp depuis un script et je veux qu'il demande à l'utilisateur qui exécute le script son mot de passe. Comment puis-je faire cela ?

7voto

Matt Simmons Points 20098

Écrire d'abord l'invite, lire la variable, puis utiliser la variable pour se connecter avec scp.

echo -n "nom d'utilisateur :"
lire USERNM

scp $USERNM@quelque chose

5voto

jcnnghm Points 3030

En plus de Matt Simmons,

read -p "Username: " USERNM

Invitations avant la lecture

read -s -p"Password: " PASS

lirait un mot de passe, MAIS, vous n'êtes pas en mesure de le passer à SCP, donc ce n'est probablement pas utile !

Aussi, mettez

echo

après votre lecture pour qu'il mette une nouvelle ligne

eg :

read -p "Username: " USERNM; echo

1voto

Brad Points 1004
read -p "Username:" USER
scp -l $USER -oPubkeyAuthentication=no

...je pense.

Sinon, il s'agira de l'une des options ssh/scp -o pour forcer la saisie du mot de passe et ne pas utiliser les clés publiques.

0voto

Kevin Wong Points 3730

Une autre approche, au cas où vous auriez besoin d'une gestion plus sophistiquée de l'application interactive que vous générez, consiste à utiliser Expect ( http //expect.nist.gov/ )

0voto

Parker Points 1098

Scp ne demandera un mot de passe que s'il en a besoin (c'est-à-dire s'il n'y a pas d'authentification par clé publique disponible) et s'il pense être en train de fonctionner dans une session interactive. Si une clé publique opérationnelle est disponible, cette question est discutable, vous devez simplement vous assurer que scp sait qu'il fonctionne dans une session interactive. Si l'utilisateur exécute directement un script depuis son script qui exécute directement scp ils devraient être parfaits.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X