diff options
author | Jhon Honce <jhonce@redhat.com> | 2020-06-23 18:50:09 -0700 |
---|---|---|
committer | Jhon Honce <jhonce@redhat.com> | 2020-06-23 18:51:56 -0700 |
commit | 4e59fd77a80a6295eb8dbf79991e1648bc739302 (patch) | |
tree | 66eecbb91e80c3325d16d71df4503880dbf17567 /pkg/bindings/connection.go | |
parent | 5fe122bf528a0665f7d12bc47357779b8686f6cf (diff) | |
download | podman-4e59fd77a80a6295eb8dbf79991e1648bc739302.tar.gz podman-4e59fd77a80a6295eb8dbf79991e1648bc739302.tar.bz2 podman-4e59fd77a80a6295eb8dbf79991e1648bc739302.zip |
Fix ssh-agent support
* An identity of "" implies ssh-agent and user/password to be used
* Fixed example
Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg/bindings/connection.go')
-rw-r--r-- | pkg/bindings/connection.go | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/pkg/bindings/connection.go b/pkg/bindings/connection.go index 584aa55c1..c02d55e31 100644 --- a/pkg/bindings/connection.go +++ b/pkg/bindings/connection.go @@ -181,12 +181,15 @@ func pingNewConnection(ctx context.Context) error { func sshClient(_url *url.URL, secure bool, passPhrase string, identity string) (Connection, error) { authMethods := []ssh.AuthMethod{} - auth, err := terminal.PublicKey(identity, []byte(passPhrase)) - if err != nil { - return Connection{}, errors.Wrapf(err, "failed to parse identity %q", identity) + + if len(identity) > 0 { + auth, err := terminal.PublicKey(identity, []byte(passPhrase)) + if err != nil { + return Connection{}, errors.Wrapf(err, "failed to parse identity %q", identity) + } + logrus.Debugf("public key signer enabled for identity %q", identity) + authMethods = append(authMethods, auth) } - logrus.Debugf("public key signer enabled for identity %q", identity) - authMethods = append(authMethods, auth) if sock, found := os.LookupEnv("SSH_AUTH_SOCK"); found { logrus.Debugf("Found SSH_AUTH_SOCK %q, ssh-agent signer enabled", sock) |