Skip to content

Quick Start

For most users, the easiest path is downloading a release binary:

  • Repository: https://github.com/demohiiiii/rauto
  • Releases: https://github.com/demohiiiii/rauto/releases
Terminal window
cargo install rauto
Terminal window
git clone https://github.com/demohiiiii/rauto.git
cd rauto
cargo build --release

The built binary will be available at target/release/rauto.

rauto uses the linux profile by default, so starting with a Linux host is the easiest first step:

Terminal window
rauto exec "uname -a" \
--host 192.168.1.10 \
--username root \
--password '******'

If the target is a network device such as Cisco or Huawei, explicitly set --device-profile:

Terminal window
rauto exec "show version" \
--host 192.168.1.1 \
--username admin \
--password '******' \
--device-profile cisco
Terminal window
rauto web --bind 127.0.0.1 --port 3000

Then open http://127.0.0.1:3000 in your browser.

The web console is useful for:

  • managing connections, templates, and command flow templates
  • running commands, transactions, workflows, and orchestration
  • viewing async tasks, recordings, blacklists, and backups
Terminal window
rauto connection test \
--host 192.168.1.1 \
--username admin \
--password '******' \
--device-profile cisco
Terminal window
rauto connection add core-sw-01 \
--host 192.168.1.1 \
--username admin \
--ssh-port 22 \
--device-profile cisco \
--ssh-security balanced

Then reuse it by name:

Terminal window
rauto exec "show version" --connection core-sw-01
Terminal window
rauto device list

Built-in profiles come from rneter. Common examples include:

  • network vendors such as cisco, huawei, h3c, juniper, fortinet, and arista
  • servers such as linux

If you are connecting to a network device rather than a Linux host, explicitly set:

Terminal window
--device-profile cisco

upload requires SFTP support on the target

Section titled “upload requires SFTP support on the target”

rauto upload is best for Linux or similar hosts that expose the sftp subsystem. Many network devices do not.

Once you move into templates, flows, transactions, and orchestration, using --connection <name> keeps commands shorter and more reusable.