J'ai besoin d'automatiser certains déploiements d'identité, idéalement en utilisant ssh-copy-id
.
J'essaie de fournir le mot de passe via stdin, ce qui est possible ssh
en utilisant le -S
drapeau. Je suis conscient que je peux envoyer des options supplémentaires pour ssh
utiliser l' -o
indicateur dans la ssh-copy-id
commande, mais il n'y a aucun exemple d'utilisation de cet indicateur dans la page de manuel.
J'ai donc essayé de transmettre le mot de passe SSH ssh-copy-id
via stdin en utilisant:
$# echo $TMP_PASS | ssh-copy-id -p2222 -i key.pub user@host -o "-S"
Mais tout ce que je reçois c'est:
/bin/ssh-copy-id: ERROR: command-line: line 0: Bad configuration option: -s
ÉDITER:
J'essaie de fournir le mot de passe via stdin, ce qui est possible
ssh
en utilisant le-S
drapeau.
Cette affirmation est fausse. J'ai lu ce drapeau de l' sudo
homme;
la source
brew install
on essaie, j'obtiens "Erreur: Aucune formule disponible avec le nom" sshpass "Nous n'ajouterons pas sshpass car il est trop facile pour les utilisateurs novices de SSH de ruiner la sécurité de SSH."brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
Où avez-vous trouvé les informations sur l'
-S
option? Cela fait quelque chose de complètement différent! Il est utilisé pour le multiplexage et ControlPath.SSH n'acceptera pas les mots de passe sur stdin jamais , vous devez préinstaller clés autorisées dans votre déploiement (de préférence) ou de l' utilisation
sshpass
ouexpect
script comme décrit dans de nombreuses autres questions.la source
-S
drapeau vient desudo
: S