単にこのコマンドを実行すると問題が発生します。
初めてscpを使用して接続が確立されるため、リモートサーバーはRSAファイルにキーを追加するために「yes」が渡されると予想します。
コマンドは次のとおりです。
#!/bin/bash
scp -P58222 root@IP:/root/K /N
/usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }'
send "yes\r"
expect "$ "
send "exit\r"
yes
実際に表示するときにスクリプトを渡す必要があります。
Are you sure you want to continue connecting (yes/no)?
どうすればこの問題を取り除くことができますか?
ベストアンサー1
Expectを使用して応答をスクリプト化する必要はありません。追加する前にプロンプトを閉じてください。
scp -o "StrictHostKeyChecking no" ...
expect
最初はsshを使用しているので、ssh-copy-id
パスワードのないsshを設定する方が良い方法だと言いたいと思います。