Thursday, April 14, 2022

[SOLVED] How to input automatically when running a shell over SSH?

Issue

In my shell script I am running a command which is asking me for input.

How can I give the command the input it needs automatically?

For example:

$cat test.sh
ssh-copy-id [email protected]

When running test.sh:

  • First, it will ask:

    Are you sure you want to continue connecting (yes/no)?

  • Then, it will ask me to input the password:

    [email protected]'s password:

Is there a way to input this automatically?


Solution

For general command-line automation, Expect is the classic tool. Or try pexpect if you're more comfortable with Python.

Here's a similar question that suggests using Expect: Use expect in bash script to provide password to SSH command



Answered By - jjlin
Answer Checked By - Willingham (WPSolving Volunteer)