https://github.com/masahide/gopssh
Parallel versions of the OpenSSH
https://github.com/masahide/gopssh
concurrency golang parallel ssh
Last synced: 4 months ago
JSON representation
Parallel versions of the OpenSSH
- Host: GitHub
- URL: https://github.com/masahide/gopssh
- Owner: masahide
- License: mit
- Created: 2017-12-09T16:29:53.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-04-02T03:54:50.000Z (11 months ago)
- Last Synced: 2024-08-01T13:28:22.456Z (7 months ago)
- Topics: concurrency, golang, parallel, ssh
- Language: Go
- Homepage:
- Size: 1.87 MB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gopssh
[](https://goreportcard.com/report/github.com/masahide/gopssh)
[](https://github.com/masahide/gopssh/actions/workflows/buildpkg.yml)parallel ssh client
# Usage
```bash
Usage of ./gopssh:
-a int
Max ssh agent unix socket connections (default 50)
-c colorized outputs (default true)
-ciphers string
allowed cipher algorithms (default "arcfour256,[email protected],[email protected],aes128-ctr,aes192-ctr,aes256-ctr")
-d show hostname
-debug
debug outputs
-h string
host file
-i string
identity files (default "~/.ssh/id_dsa,~/.ssh/id_ecdsa,~/.ssh/id_ed25519,~/.ssh/id_rsa")
-k Do not check the host key
-kex string
allowed key exchanges algorithms (default "diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,[email protected]")
-macs string
allowed MAC algorithms (default "hmac-sha1-96,hmac-sha1,hmac-sha2-256,[email protected]")
-p int
concurrency (defalut "0" is unlimit)
-s sort the results and output (default true)
-timeout duration
maximum amount of time for the TCP connection to establish. (default 15s)
-u string
username (default "$USER")
-version
Show version
```example:
```bash
./gopssh -h <(echo host1 host2) ls -la /etc/
```## Installation
see [releases page](https://github.com/masahide/gopssh/releases).
## build
```
go build -v -ldflags "-X main.version=0.5.6
-X main.commit=$(git rev-parse --short HEAD)
-X main.date=$(date --iso-8601=seconds)" \
-o .bin/gopssh \
cmd/gopssh/main.go
```### build rpm
```
ver=$(.bin/gopssh -version)
export VERSION=$(echo "$ver"|awk '/^version/{print $2}')
export HASH=$(echo "$ver"|awk '/^commit/{print $2}')
export ARCH=$(uname -m)
export RELEASE=1
export NAME=gopssh
export BINPATH=.bin/$NAME
go run pack/rpmpack/main.go
```### build deb
```
ver=$(.bin/gopssh -version)
export VERSION=$(echo "$ver"|awk '/^version/{print $2}')
export ARCH=amd64
export MAINTAINER=$USER
export NAME=gopssh
export BINPATH=.bin/$NAME
go run pack/debpack/main.go
```