mirror of
https://github.com/containers/podman.git
synced 2025-06-19 00:06:43 +08:00
Add support for host keys for non-22 ports
When not using the standard SSH port (22), the port is appended to the hostname (in brackets) like so: "host" -> "[host]:1234" Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com> (cherry picked from commit 8794e8db1ce3088d633911454d6d36c4e939e126)
This commit is contained in:
@ -214,19 +214,23 @@ func sshClient(_url *url.URL, secure bool, passPhrase string, identity string) (
|
||||
authMethods = append(authMethods, ssh.Password(string(pass)))
|
||||
}
|
||||
|
||||
callback := ssh.InsecureIgnoreHostKey()
|
||||
if secure {
|
||||
key := terminal.HostKey(_url.Hostname())
|
||||
if key != nil {
|
||||
callback = ssh.FixedHostKey(key)
|
||||
}
|
||||
}
|
||||
|
||||
port := _url.Port()
|
||||
if port == "" {
|
||||
port = "22"
|
||||
}
|
||||
|
||||
callback := ssh.InsecureIgnoreHostKey()
|
||||
if secure {
|
||||
host := _url.Hostname()
|
||||
if port != "22" {
|
||||
host = fmt.Sprintf("[%s]:%s", host, port)
|
||||
}
|
||||
key := terminal.HostKey(host)
|
||||
if key != nil {
|
||||
callback = ssh.FixedHostKey(key)
|
||||
}
|
||||
}
|
||||
|
||||
bastion, err := ssh.Dial("tcp",
|
||||
net.JoinHostPort(_url.Hostname(), port),
|
||||
&ssh.ClientConfig{
|
||||
|
Reference in New Issue
Block a user