package ssh
import "k8s.io/kubernetes/pkg/ssh"
Index ¶
- func EncodePrivateKey(private *rsa.PrivateKey) []byte
- func EncodePublicKey(public *rsa.PublicKey) ([]byte, error)
- func EncodeSSHKey(public *rsa.PublicKey) ([]byte, error)
- func GenerateKey(bits int) (*rsa.PrivateKey, *rsa.PublicKey, error)
- func MakePrivateKeySignerFromBytes(buffer []byte) (ssh.Signer, error)
- func MakePrivateKeySignerFromFile(key string) (ssh.Signer, error)
- func ParsePublicKeyFromFile(keyFile string) (*rsa.PublicKey, error)
- func RunSSHCommand(cmd, user, host string, signer ssh.Signer) (string, string, int, error)
- type SSHTunnel
- func NewSSHTunnel(user, keyfile, host string) (*SSHTunnel, error)
- func NewSSHTunnelFromBytes(user string, privateKey []byte, host string) (*SSHTunnel, error)
- func (s *SSHTunnel) Close() error
- func (s *SSHTunnel) Dial(network, address string) (net.Conn, error)
- func (s *SSHTunnel) Open() error
- type SSHTunnelList
Functions ¶
func EncodePrivateKey ¶
func EncodePrivateKey(private *rsa.PrivateKey) []byte
func EncodePublicKey ¶
func EncodeSSHKey ¶
func GenerateKey ¶
func MakePrivateKeySignerFromBytes ¶
func MakePrivateKeySignerFromFile ¶
func ParsePublicKeyFromFile ¶
func RunSSHCommand ¶
RunSSHCommand returns the stdout, stderr, and exit code from running cmd on host as specific user, along with any SSH-level error. If user=="", it will default (like SSH) to os.Getenv("USER")
Types ¶
type SSHTunnel ¶
type SSHTunnel struct { Config *ssh.ClientConfig Host string SSHPort string // contains filtered or unexported fields }
TODO: Unit tests for this code, we can spin up a test SSH server with instructions here: https://godoc.org/golang.org/x/crypto/ssh#ServerConn
func NewSSHTunnel ¶
func NewSSHTunnelFromBytes ¶
func (*SSHTunnel) Close ¶
func (*SSHTunnel) Dial ¶
func (*SSHTunnel) Open ¶
type SSHTunnelList ¶
type SSHTunnelList struct {
// contains filtered or unexported fields
}
func NewSSHTunnelList ¶
func NewSSHTunnelList(user, keyfile string, healthCheckURL *url.URL, stopChan chan struct{}) *SSHTunnelList
func (*SSHTunnelList) Dial ¶
func (l *SSHTunnelList) Dial(net, addr string) (net.Conn, error)
func (*SSHTunnelList) Update ¶
func (l *SSHTunnelList) Update(addrs []string)
Update reconciles the list's entries with the specified addresses. Existing tunnels that are not in addresses are removed from entries and closed in a background goroutine. New tunnels specified in addresses are opened in a background goroutine and then added to entries.
Source Files ¶
ssh.go
- Version
- v1.6.2
- Published
- Apr 19, 2017
- Platform
- js/wasm
- Imports
- 24 packages
- Last checked
- 38 seconds ago –
Tools for package owners.