sshw

command module
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 3, 2023 License: MIT Imports: 8 Imported by: 0

README

sshw

ssh client wrapper for automatic login.

  • Select / Search / Login

  • Use Command Line Arguments

  • Run / Start Command

  • And if you need to manage a bunch of hosts under the same domain, such as

    hostA.your.domain.com
    hostB.your.domain.com
    hostC.your.domain.com
    ...
    

    you can write your domain in the config file (see config section below), and then you can just specify short hostname in the command line.

    sshw root@hostA
    

    sshw will concatenate domain name for you. FQDN won't be affected. (Note: make sure there is no . in your short hostname otherwise sshw would consider it as an FQDN.)

  • AND you need to set separate default passwords for different users? Just config them in "settings - logins" section (see config section below. With that example config, when you connect with user admin such as sshw admin@host or sshw -u admin , the password for admin user, in this case "password", will be used; but if a user is not configured, default password will be used.)

install

go install github.com/lixvbnet/sshw@latest

or download pre-compiled binaries from Releases page.

config

put config file .sshw.yml in home directory or in the same directory of the binary.

config example:

settings:
  domain: example.com
  logins:
    - user: admin
      password: password
    - user: testuser
      password: testpass
    - user: anotheruser
      password: anotherpass

default:
  user: root
  password: 123456


nodes:
  - name: nodeA
    alias: nodeA
    host: 192.168.1.10

  - name: nodeB
    alias: nodeB,secondNode,11
    host: 192.168.1.11
    user: root
    password: Password

usage

sshw [options] [target] [command]

where target is of the form [user[:pass]@]host. A host can be an FQDN, short hostname, configured node name or alias. Run sshw -h for a full list of available options.


This is a complete rewrite, except the UI interface, of yinheli/sshw for extensibility. And the following features were added:

  • Support setting default user/password
  • Support short hostnames by setting up domain ( concatenated as hostname.domain )
  • Support command line arguments
    sshw user:pass@host
    # use default password
    sshw user@host
    # use default user/password
    sshw host
    
  • Support using flags before selecting host from list
    # use specified user and default password for selected host
    sshw -u admin
    # use specified user and password (will prompt for input) for selected host
    sshw -u admin -pass
    # use specified port for selected host
    sshw -p 33
    
  • Or even using both (The flags have top priority)
    # will prompt for password
    sshw -pass user@host
    
  • Run command on host
    # run command and get its output
    sshw -pass user@host "echo hello"
    # request a terminal and start command
    sshw -t -pass user@host "/bin/bash"
    
  • Support more ciphers and kex algorithms

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL