Kirim kata sandi melalui stdin di `ssh-copy-id`


11

Saya perlu mengotomatiskan beberapa penyebaran identitas, idealnya menggunakan ssh-copy-id.

Saya mencoba memberikan kata sandi melalui stdin, yang dimungkinkan sshdengan menggunakan -Sflag. Saya sadar bahwa saya dapat mengirim opsi tambahan untuk sshmenggunakan -oflag dalam ssh-copy-idperintah, tetapi tidak ada contoh penggunaan flag ini di halaman manual.

Jadi saya sudah mencoba untuk melewatkan kata sandi SSH ssh-copy-idmelalui stdin menggunakan:

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

Tapi yang saya dapatkan adalah:

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

EDIT:

Saya mencoba memberikan kata sandi melalui stdin, yang dimungkinkan sshdengan menggunakan -Sflag.

Pernyataan ini salah. Saya sebenarnya sudah membaca bendera ini dari sudomanusia;

Jawaban:


15

Anda mungkin ingin mencoba menginstal sshpass, dan mengubah panggilan Anda ke ssh-copy-id:

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

lol, bukan pada mac dan ketika brew installdicoba, saya mendapatkan "Kesalahan: Tidak ada formula yang tersedia dengan nama" sshpass "Kami tidak akan menambahkan sshpass karena itu membuat terlalu mudah bagi pengguna SSH pemula untuk merusak keamanan SSH."
— tofutim

Ada instruksi untuk menginstalnya dengan homebrew di osx di sini gist.github.com/arunoda/7790979#installing-with-homebrew Anda hanya perlu menjalankanbrew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
— ewatt

2

Di mana Anda menemukan informasi tentang -Sopsi? Itu melakukan sesuatu yang sangat berbeda! Ini digunakan untuk multiplexing dan ControlPath.

SSH tidak akan menerima password pada stdin pernah , sehingga Anda harus pra-instal kunci yang berwenang dalam penyebaran Anda (cara yang disukai) atau penggunaan sshpassatau expectskrip seperti yang dijelaskan dalam banyak pertanyaan lainnya.


Sialan kau benar! Saya baru menyadari bahwa -Sbendera itu dari sudo: S
— 2grit

Jika saya ingin menginstal kunci saya di 100 host, menggunakan ssh-copy-id, memiliki semua host yang sudah memiliki nama pengguna dan kata sandi standar, bagaimana cara menghindari ssh-copy-id meminta saya setiap kali kata sandi yang sama?
— realtebo

Itu sudah dijawab di kedua jawaban - gunakan sshpass jika Anda harus atau skrip yang diharapkan.
— Jakuje
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.