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.