Initial skills documentation — 25 categories, all SKILL.md + references + scripts
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/expect -f
|
||||
# Usage: ./run_as_root.exp <server-ip> "<command>"
|
||||
# Requires the local system to have 'expect' installed (`apt-get install -y expect`).
|
||||
# Automates SSH access via ippadmin, switching to root using `su - root`, and running a command.
|
||||
# This bypasses the issue of `sudo` requiring a password on a non-interactive SSH connection.
|
||||
|
||||
set ip [lindex $argv 0]
|
||||
set cmd [lindex $argv 1]
|
||||
|
||||
# Make sure you have the correct key and root password set here or pass as args
|
||||
set key_path "/root/.ssh/itpp-infra"
|
||||
set root_pass "heUa1ucN6Xwta2O"
|
||||
|
||||
spawn ssh -i $key_path -o StrictHostKeyChecking=no ippadmin@$ip
|
||||
expect {
|
||||
"$ " { send "su - root\r" }
|
||||
timeout { puts "Timeout waiting for prompt"; exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"Password: " { send "$root_pass\r" }
|
||||
timeout { puts "Timeout waiting for password prompt"; exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"# " { send "$cmd\r" }
|
||||
timeout { puts "Timeout waiting for root prompt"; exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"# " { send "exit\r" }
|
||||
timeout { puts "Timeout waiting for command execution completion"; exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"$ " { send "exit\r" }
|
||||
timeout { puts "Timeout waiting for ippadmin prompt"; exit 1 }
|
||||
}
|
||||
Reference in New Issue
Block a user