100 votes

ligne de commande pour exécuter ssh avec authentification par mot de passe

J'ai besoin d'exécuter ssh à partir de ligne de commande windows en fournissant le mot de passe dans un non-interactif. J'ai pu mettre en œuvre la clé d'authentification et en mesure d'exécuter le ssh commandes tout comme

ssh <user>@<host> <command>

Est-il des commandes comme

ssh <user>@<host> -P <password> <command>

Je ne sais pas si c'est faisable. Cependant, il peut y avoir quelques travaux autour de la même chose. Me jeter quelques idées pour faire de même

162voto

Anish Bhatt Points 1031

Le sshpass utilitaire est conçu exactement pour ce. Tout d'abord, installez sshpass en tapant cette commande:

sudo apt-get install sshpass

Puis ajouter votre ssh/scp de commande avec

sshpass -p '<password>' <ssh/scp command>

Ce programme est facile à installer lors de l'utilisation de Linux.

L'utilisateur doit envisager l'utilisation de SSH est plus sûr de la clé publique d'authentification (avec l' ssh de la commande) à la place.

25voto

Shaman Points 1649

Que dire de ce script expect?

#!/usr/bin/expect -f
spawn ssh root@myhost
expect -exact "root@myhost's password: "
send -- "mypassword\r"
interact

17voto

Greg Inozemtsev Points 2624

Mastic de plink dispose d'un argument de ligne de commande pour un mot de passe. Quelques autres suggestions ont été formulées dans les réponses à cette question: à l'aide d'Attendre (ce qui est disponible pour Windows), ou en écrivant un lanceur d'applications en Python avec Paramiko.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X