Ubuntu で SSH キーの生成を自動化する次のスクリプトを期待しています。スクリプトは期待どおりに実行され、キー ペアが生成されますが、完了するまでに 50 ~ 60 秒かかります。
#!/usr/bin/expect --
eval spawn /usr/bin/ssh-keygen -t rsa
expect -re {Enter file in which to save the key (/root/.ssh/id_rsa): }
send -- "\r"
expect -re {Overwrite (y/n)? }
send -- "y\r"
expect -re {Enter passphrase (empty for no passphrase): }
send -- "\r"
expect -re {Enter same passphrase again:" }
send -- "\r"
puts "\nEnded expect script."
何を変更するためのヒントやヒントはありますか?
編集: Niall Byrne の回答に基づいて、次の期待スクリプトにたどり着きました。これは迅速で、初回のキー生成とキーの再生成 (上書き) を処理します。
#!/usr/bin/expect -f
set timeout -1
spawn /usr/bin/ssh-keygen -t rsa
expect {
"Enter file in which to save the key" {send -- "\r" ; exp_continue}
"Overwrite" {send -- "y\r" ; exp_continue}
"Enter passphrase (empty for no passphrase):" {send -- "\r" ; exp_continue}
"Enter same passphrase again:" { send -- "\r" ; exp_continue}
eof
}