Saya perlu mengotomatiskan beberapa penyebaran identitas, idealnya menggunakan ssh-copy-id
.
Saya mencoba memberikan kata sandi melalui stdin, yang dimungkinkan ssh
dengan menggunakan -S
flag. Saya sadar bahwa saya dapat mengirim opsi tambahan untuk ssh
menggunakan -o
flag dalam ssh-copy-id
perintah, tetapi tidak ada contoh penggunaan flag ini di halaman manual.
Jadi saya sudah mencoba untuk melewatkan kata sandi SSH ssh-copy-id
melalui 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
ssh
dengan menggunakan-S
flag.
Pernyataan ini salah. Saya sebenarnya sudah membaca bendera ini dari sudo
manusia;
sumber
brew install
dicoba, 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."brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
Di mana Anda menemukan informasi tentang
-S
opsi? 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
sshpass
atauexpect
skrip seperti yang dijelaskan dalam banyak pertanyaan lainnya.sumber
-S
bendera itu darisudo
: S