diff --git a/tests/test_link.py b/tests/test_link.py index b064f0c..4d114cc 100644 --- a/tests/test_link.py +++ b/tests/test_link.py @@ -316,6 +316,8 @@ class Connecting(unittest.TestCase): opts = ["-o", "HostName=10.0.0.5"] self.assertFalse(fl.Link.is_target('Authenticated to bastion ([1.2.3.4]:22) using "publickey".', opts, "frame")) self.assertTrue(fl.Link.is_target('Authenticated to 10.0.0.5 ([10.0.0.5]:22) using "publickey".', opts, "frame")) + self.assertTrue(fl.Link.is_target('Authenticated to frame.local ([10.0.0.5]:22) using "publickey".', + ["-o", "HostName=FRAME.LOCAL"], "frame")) def test_a_forward_the_jump_host_couldnt_open_tries_the_next_address(self): said = ["Authenticated to bastion ([1.2.3.4]:22) using \"publickey\".", diff --git a/ui/frame_link.py b/ui/frame_link.py index 4a050b9..569f755 100644 --- a/ui/frame_link.py +++ b/ui/frame_link.py @@ -906,7 +906,8 @@ class Link: (ssh -v passes its verbosity on to ProxyJump's own ssh).""" host = next((o.split("=", 1)[1].replace("%%", "%") for o in opts if o.startswith("HostName=")), alias) m = re.search(r"Authenticated to (\S+)", line) - return not m or m.group(1) in (host, alias) or "Authentication succeeded" in line + # OpenSSH lower-cases host names (FRAME.LOCAL logs as frame.local). + return not m or m.group(1).lower() in (host.lower(), alias.lower()) or "Authentication succeeded" in line def failed(self, step, said, mismatch, alias): text = "\n".join(said).strip()