Documentation ¶
Overview ¶
Package ssh is a helper for working with ssh in go.
Index ¶
- func AuthCert(keyReader, certReader io.Reader) (ssh.AuthMethod, error)
- func AuthCertFile(keyFilename, certFilename string) (ssh.AuthMethod, error)
- func AuthKey(r io.Reader) (ssh.AuthMethod, error)
- func AuthKeyFile(keyFilename string) (ssh.AuthMethod, error)
- func AuthKeyboardInteractive(challenge ssh.KeyboardInteractiveChallenge) ssh.AuthMethod
- func AuthPassword(password string) ssh.AuthMethod
- func Dial(ctx context.Context, config Config) (*ssh.Client, error)
- func GenKeyPair() (string, string, error)
- func MakeHostKeyCallback(insecure bool, l Logger) (ssh.HostKeyCallback, error)
- func Output(ctx context.Context, config Config, command string, stdout, stderr io.Writer) error
- func OutputWithPty(ctx context.Context, config Config, command string, stdout, stderr io.Writer) error
- func ParseCertificate(cert []byte) (*ssh.Certificate, error)
- func SFTP(ctx context.Context, cfg Config) (*sftp.Client, error)
- func Shell(ctx context.Context, config Config, stdin io.Reader, stdout, stderr io.Writer, ...) error
- type Client
- type Config
- type ExitError
- type HTTPConnectProxy
- type Logger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AuthCert ¶
func AuthCert(keyReader, certReader io.Reader) (ssh.AuthMethod, error)
AuthCert creates an AuthMethod for SSH certificate authentication from the key and certificate bytes.
func AuthCertFile ¶
func AuthCertFile(keyFilename, certFilename string) (ssh.AuthMethod, error)
AuthCertFile creates an AuthMethod for SSH certificate authentication from the key and certicate files.
func AuthKey ¶
func AuthKey(r io.Reader) (ssh.AuthMethod, error)
AuthKey creates an AuthMethod for SSH key authentication.
func AuthKeyFile ¶
func AuthKeyFile(keyFilename string) (ssh.AuthMethod, error)
AuthKey creates an AuthMethod for SSH key authentication from a key file.
func AuthKeyboardInteractive ¶ added in v0.7.3
func AuthKeyboardInteractive(challenge ssh.KeyboardInteractiveChallenge) ssh.AuthMethod
AuthKeyboardInteractive creates an AuthMethod for keyboard-interactive authentication.
func AuthPassword ¶
func AuthPassword(password string) ssh.AuthMethod
AuthPassword creates an AuthMethod for password authentication.
func GenKeyPair ¶
GenKeyPair make a pair of public and private keys for SSH access. Public key is encoded in the format for inclusion in an OpenSSH authorized_keys file. Private Key generated is PEM encoded
func MakeHostKeyCallback ¶ added in v0.6.0
func MakeHostKeyCallback(insecure bool, l Logger) (ssh.HostKeyCallback, error)
func OutputWithPty ¶ added in v0.5.0
func OutputWithPty(ctx context.Context, config Config, command string, stdout, stderr io.Writer) error
Output returns the output of the command run on the remote host as well as a pty.
func ParseCertificate ¶
func ParseCertificate(cert []byte) (*ssh.Certificate, error)
Types ¶
type Client ¶
type Client struct { Cfg Config Session *ssh.Session Conn *ssh.Client Stdin io.WriteCloser Stdout io.Reader Stderr io.Reader sync.Mutex // contains filtered or unexported fields }
func StartCommand ¶ added in v0.6.0
StartCommand starts the specified command without waiting for it to finish. You have to call the Wait function for that.
type Config ¶
type Config struct { User string // username to connect as, required Host string // hostname to connect to, required ClientVersion string // ssh client version, "SSH-2.0-Go" by default Port int // port to connect to, 22 by default Auth []ssh.AuthMethod // authentication methods to use HostKey ssh.HostKeyCallback // callback for verifying server keys, ssh.InsecureIgnoreHostKey by default HTTPProxy *url.URL }
func (Config) GetHostKeyCallback ¶ added in v0.6.0
func (cfg Config) GetHostKeyCallback() ssh.HostKeyCallback
func (Config) ToNatives ¶ added in v0.6.3
func (cfg Config) ToNatives() []*ssh.ClientConfig
type ExitError ¶
ExitError is a convenience wrapper for (crypto/ssh).ExitError type.
type HTTPConnectProxy ¶ added in v0.7.0
type HTTPConnectProxy struct { HTTPS bool Host string HaveAuth bool Username string Password string }
func NewHTTPConnectProxy ¶ added in v0.7.0
func NewHTTPConnectProxy(uri *url.URL) *HTTPConnectProxy