Надішліть пароль через stdin у "ssh-copy-id"


11

Мені потрібно автоматизувати деякі розгортання ідентичності, в ідеалі використовуючи ssh-copy-id.

Я намагаюся надати пароль через stdin, що можливо ssh, використовуючи -Sпрапор. Я знаю, що я можу надсилати додаткові параметри sshвикористання -oпрапора в ssh-copy-idкоманді, однак на сторінці man немає прикладів використання цього прапора.

Тому я намагався передати пароль SSH ssh-copy-idчерез stdin, використовуючи:

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

Але все, що я отримую, це:

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

Редагувати:

Я намагаюся надати пароль через stdin, що можливо ssh, використовуючи -Sпрапор.

Це твердження неправильне. Я справді прочитав цей прапор від sudoлюдини;

Відповіді:


15

Ви можете спробувати встановити sshpass і змінити свій дзвінок на ssh-copy-id:

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

lol, не на mac, і коли brew installробиться спроба, я отримую "Помилка. Немає доступної формули з назвою" sshpass "Ми не додамо sshpass, оскільки це дозволяє занадто легко для початківців користувачів SSH зруйнувати безпеку SSH."
tofutim

Тут є вказівки, щоб встановити його з домашньою мовою на osx тут gist.github.com/arunoda/7790979#installing-with-homebrew Вам потрібно було б просто запуститиbrew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
ewatt

2

Де ви знайшли інформацію про -Sваріант? Це робить щось зовсім інше! Він використовується для мультиплексування та ControlPath.

SSH не братиме паролі на стандартне введення коли - або , так що ви повинні попередньо встановити дозволені ключі в розгортанні (кращий спосіб) або використання sshpassабо expectсценарії , як описано в багатьох інших питаннях.


Чорт ти маєш рацію! Я щойно зрозумів, що -Sпрапор sudo: S
2grit

Якщо я хочу встановити свої ключі на 100 хостах, використовуючи ssh-copy-id, маючи те, що всі хости вже мають ім'я користувача та пароль за замовчуванням, як уникнути того, щоб ssh-copy-id запитував мене кожного разу про той самий пароль?
realtebo

На це вже відповіді в обох відповідях - використовуйте sshpass, якщо потрібно або якийсь сценарій очікування.
Jakuje
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.