Wyślij hasło przez stdin w `ssh-copy-id`


11

Muszę zautomatyzować niektóre wdrożenia tożsamości, najlepiej przy użyciu ssh-copy-id.

Próbuję podać hasło przez stdin, co jest możliwe przy sshużyciu -Sflagi. Wiem, że mogę wysłać dodatkowe opcje sshużywania -oflagi w ssh-copy-idpoleceniu, jednak nie ma przykładów użycia tej flagi na stronie man.

Więc próbowałem przekazać hasło SSH ssh-copy-idprzez stdin przy użyciu:

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

Ale wszystko co dostaję to:

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

EDYTOWAĆ:

Próbuję podać hasło przez stdin, co jest możliwe przy sshużyciu -Sflagi.

To stwierdzenie jest błędne. Właściwie przeczytałem tę flagę od sudoczłowieka;

Odpowiedzi:


15

Możesz spróbować zainstalować sshpass i zmienić swoje połączenie na ssh-copy-id:

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

lol, nie na komputerze Mac, a kiedy brew installjest podejmowana próba, pojawia się komunikat „Błąd: brak dostępnej formuły o nazwie„ sshpass ”. Nie dodamy sshpass, ponieważ zbyt początkującym użytkownikom SSH zbyt łatwo psuje bezpieczeństwo SSH”.
tofutim

Są instrukcje, jak zainstalować go z homebrew na osx tutaj gist.github.com/arunoda/7790979#installing-with-homebrew Wystarczy uruchomićbrew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
ewatt

2

Gdzie znalazłeś informacje o -Sopcji? Robi coś zupełnie innego! Służy do multipleksowania i ControlPath.

SSH nie zaakceptuje haseł na stdin kiedykolwiek , więc należy wstępnie zainstalować autoryzowanych kluczy w sposób rozmieszczenia (preferowane) lub użytkowania sshpasslub expectskryptu jak opisano w wielu innych kwestiach.


Cholera masz rację! Właśnie zdałem sobie sprawę, że -Sflaga pochodzi z sudo: S
2grit

Jeśli chcę zainstalować klucze na 100 hostach, używając ssh-copy-id, mając na uwadze, że wszystkie hosty mają już domyślną nazwę użytkownika i hasło, jak uniknąć pytania ssh-copy-id za każdym razem o to samo hasło?
realtebo

Na to już odpowiedziano w obu odpowiedziach - użyj sshpass, jeśli musisz lub oczekujesz skryptu.
Jakuje,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.