diff options
author | baude <bbaude@redhat.com> | 2019-09-16 10:48:34 -0500 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-09-17 13:42:02 -0500 |
commit | 0d9b952aeab95c59b28bcea42f719d06363b45b5 (patch) | |
tree | fd3e5357f6051da6a6d1410bf34dc37836612d02 /pkg | |
parent | 143caa98bf07eef1a4d46da2cc56603a3ef739b8 (diff) | |
download | podman-0d9b952aeab95c59b28bcea42f719d06363b45b5.tar.gz podman-0d9b952aeab95c59b28bcea42f719d06363b45b5.tar.bz2 podman-0d9b952aeab95c59b28bcea42f719d06363b45b5.zip |
support non-standard ssh port for remote-client
when using the remote client, users may need to specify a non-standard
port for ssh connections. we can do so on the command line and within
the remote-client configuration file.
Fixes: #3987
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/adapter/client.go | 2 | ||||
-rw-r--r-- | pkg/adapter/client_unix.go | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/pkg/adapter/client.go b/pkg/adapter/client.go index da6ff5fd0..1805c758d 100644 --- a/pkg/adapter/client.go +++ b/pkg/adapter/client.go @@ -35,7 +35,7 @@ func (r RemoteRuntime) RemoteEndpoint() (remoteEndpoint *Endpoint, err error) { if len(r.cmd.RemoteUserName) < 1 { return nil, errors.New("you must provide a username when providing a remote host name") } - rc := remoteclientconfig.RemoteConnection{r.cmd.RemoteHost, r.cmd.RemoteUserName, false} + rc := remoteclientconfig.RemoteConnection{r.cmd.RemoteHost, r.cmd.RemoteUserName, false, r.cmd.Port} remoteEndpoint, err = newBridgeConnection("", &rc, r.cmd.LogLevel) // if the user has a config file with connections in it } else if len(remoteConfigConnections.Connections) > 0 { diff --git a/pkg/adapter/client_unix.go b/pkg/adapter/client_unix.go index 4781acd06..a7bc7c1c0 100644 --- a/pkg/adapter/client_unix.go +++ b/pkg/adapter/client_unix.go @@ -10,7 +10,11 @@ import ( ) func formatDefaultBridge(remoteConn *remoteclientconfig.RemoteConnection, logLevel string) string { + port := remoteConn.Port + if port == 0 { + port = 22 + } return fmt.Sprintf( - `ssh -T %s@%s -- /usr/bin/varlink -A \'/usr/bin/podman --log-level=%s varlink \\\$VARLINK_ADDRESS\' bridge`, - remoteConn.Username, remoteConn.Destination, logLevel) + `ssh -p %d -T %s@%s -- /usr/bin/varlink -A \'/usr/bin/podman --log-level=%s varlink \\\$VARLINK_ADDRESS\' bridge`, + port, remoteConn.Username, remoteConn.Destination, logLevel) } |