Envíe la contraseña a través de stdin en `ssh-copy-id`


11

Necesito automatizar algunas implementaciones de identidad, idealmente usando ssh-copy-id.

Estoy tratando de proporcionar la contraseña a través de stdin, que es posible sshmediante el uso de la -Sbandera. Soy consciente de que puedo enviar opciones adicionales para sshusar el -oindicador en el ssh-copy-idcomando, sin embargo, no hay ejemplos de uso de este indicador en la página del manual.

Así que intenté pasar la contraseña SSH a ssh-copy-idtravés de stdin usando:

$# echo $TMP_PASS | ssh-copy-id -p2222 -i key.pub user@host -o "-S"

Pero todo lo que obtengo es:

/bin/ssh-copy-id: ERROR: command-line: line 0: Bad configuration option: -s

EDITAR:

Estoy tratando de proporcionar la contraseña a través de stdin, que es posible sshmediante el uso de la -Sbandera.

Esta afirmación es incorrecta. De hecho, he leído esta bandera del sudohombre;

Respuestas:


15

Es posible que desee intentar instalar sshpass y alterar su llamada a ssh-copy-id:

sshpass -p "$TMP_PASS" ssh-copy-id

lol, no en Mac y cuando brew installse intenta, aparece "Error: No hay una fórmula disponible con el nombre" sshpass "No agregaremos sshpass porque hace que sea demasiado fácil para los usuarios novatos de SSH arruinar la seguridad de SSH".
— tofutim

Hay instrucciones para instalarlo con homebrew en osx aquí gist.github.com/arunoda/7790979#installing-with-homebrew Solo necesita ejecutarbrew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
— ewatt

2

¿Dónde encontraste la información sobre la -Sopción? ¡Hace algo completamente diferente! Se utiliza para multiplexación y ControlPath.

SSH no aceptará contraseñas en la entrada estándar cada vez , por lo que debe preinstalar llaves autorizadas en su implementación (modo preferido) o por el uso sshpasso expectla escritura como se describe en muchas otras preguntas.


¡Maldita sea, tienes razón! Me acabo de dar cuenta de que la -Sbandera es de sudo: S
— 2grit

Si quiero instalar mis claves en 100 hosts, usando ssh-copy-id, teniendo en cuenta que todos los hosts ya tienen un nombre de usuario y contraseña predeterminados, ¿cómo evitar que ssh-copy-id me pregunte siempre la misma contraseña?
— realtebo

Eso ya está respondido en ambas respuestas: use sshpass si tiene que esperar o algún script esperado.
— Jakuje
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.