Invia la password tramite stdin in `ssh-copy-id`


11

Devo automatizzare alcune distribuzioni di identità, usando idealmente ssh-copy-id.

Sto cercando di fornire la password tramite stdin, che è possibile sshutilizzando la -Sbandiera. Sono consapevole del fatto che posso inviare opzioni aggiuntive sshall'utilizzo del -oflag nel ssh-copy-idcomando, tuttavia non ci sono esempi di utilizzo di questo flag nella pagina man.

Quindi ho provato a passare la password SSH per ssh-copy-idtramite stdin usando:

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

Ma tutto quello che ottengo è:

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

MODIFICARE:

Sto cercando di fornire la password tramite stdin, che è possibile sshutilizzando la -Sbandiera.

Questa affermazione è sbagliata. In realtà ho letto questa bandiera sudodall'uomo;

Risposte:


15

Potresti provare a installare sshpass e a modificare la chiamata per ssh-copy-id:

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

lol, non su Mac e quando brew installviene tentato, ottengo "Errore: Nessuna formula disponibile con il nome" sshpass "Non aggiungeremo sshpass perché rende troppo facile per gli utenti principianti SSH rovinare la sicurezza di SSH."
tofutim,

Ci sono istruzioni per installarlo con homebrew su osx qui gist.github.com/arunoda/7790979#installing-with-homebrew Dovresti solo eseguirebrew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
ewatt

2

Dove hai trovato le informazioni -Ssull'opzione? Fa qualcosa di completamente diverso! È usato per multiplexing e ControlPath.

SSH non accetterà mai le password su stdin , quindi è necessario preinstallare le chiavi autorizzate nella distribuzione (modo preferito) o utilizzare sshpasso expectscript come descritto in molte altre domande.


Accidenti hai ragione! Ho appena capito che la -Sbandiera proviene da sudo: S
2grit

Se voglio installare le mie chiavi su 100 host, usando ssh-copy-id, avendo che tutti gli host hanno già un nome utente e una password predefiniti, come evitare che ssh-copy-id mi chieda ogni volta la stessa password?
realtebo,

Che ha già una risposta in entrambe le risposte - usa sshpass se devi o se ti aspetti uno script.
Jakuje,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.