google / goexpect

Expect for Go
BSD 3-Clause "New" or "Revised" License
759 stars 134 forks source link

Send file over SSH #81

Open felipe88alves opened 2 years ago

felipe88alves commented 2 years ago

Wondering if there's any way to send a file over SSH. I'm working with automation of configuration using NETCONF, and need to send over a file with the configuration and subsequently respond to prompts.

More specifically, I need to run the following SSH command: ssh -o StrictHostKeyChecking=no -p $PORT admin@$HOST -s netconf < $CONFIG_FILE

The python pexpect package allows the spawning of a command to be executed. So I could perform the following:

cmd_to_execute = f'/bin/bash -c "ssh -o StrictHostKeyChecking=no -p {cm_port} admin@{cm_host} -s netconf < {config_file}"'
child = pexpect.spawn(cmd_to_execute)

What would be an equivalent goexpect way of performing such action?