-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
59584ff
commit 0ef8139
Showing
1 changed file
with
23 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,26 @@ | ||
# befehl | ||
Run arbitrary commands over ssh in mass | ||
## Run arbitrary commands over ssh in mass | ||
|
||
- run payload.sh in PWD on IPs in targets.txt in PWD.. up to 100 at a time. | ||
- run payload.sh in PWD on IPs in targets in PWD.. up to 2000 at a time. | ||
|
||
`./befehl -targets targets.txt -payload payload.sh -routines 100` | ||
`./befehl execute --hosts targets --payload payload.sh -routines 2000` | ||
|
||
Output of each payload run will be in the log directory (by defualt, its `$HOME/befehl/logs`) in a file named after the machine it ran on. | ||
|
||
## Configuration | ||
|
||
You can configure befehl with a config file (~/.befehl.[toml|json|yaml]) any serialization format that upstream viper supports befehl supports for the config file. Valid configuration options: | ||
|
||
```toml | ||
[general] | ||
logdir = "/home/ssullivan/log-special" | ||
[auth] | ||
privatekeyfile = "/home/ssullivan/alt/.ssh/id_rsa" | ||
sshuser = "nonrootuser" | ||
``` | ||
|
||
These options should be self explanatory so I wont describe what each does here. | ||
|
||
## Building | ||
|
||
Once you have your Go environment setup, it should be as simple as cloning this git repo and running `make`. The resulting binary will be located at `_exe/befehl`. |