Before I updated to 12.5 I was able to connect via SSH with no problems, but after the update I can no longer connect.
The situation is similar to the following Unable to SSH to other servers after Monterey 12.5 upgrade
I did some additional checking.
I tried connecting from a Parallels virtual machine and was able to connect via SSH from a Linux virtual machine and a Windows virtual machine, but not from macOS (12.3.1)
Below is ssh -vvv info
It seems to be working fine until the ssh authentication.
OpenSSH_8.6p1, LibreSSL 3.3.6
(omitted)
debug1: Authentication succeeded (publickey).
(omitted)
Authenticated to host.name ([ipaddr]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting [email protected]
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: exec
debug3: receive packet: type 80
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug3: client_input_hostkeys: received RSA key SHA256:keyhash
debug3: client_input_hostkeys: received ECDSA key SHA256:keyhash
debug3: client_input_hostkeys: received ED25519 key SHA256:keyhash
debug1: client_input_hostkeys: searching /Users/username/.ssh/known_hosts for hostname / (none)
debug3: hostkeys_foreach: reading file "/Users/username/.ssh/known_hosts"
debug3: hostkeys_find: found ssh-ed25519 key at /Users/username/.ssh/known_hosts:15
debug3: hostkeys_find: found ssh-rsa key at /Users/username/.ssh/known_hosts:16
debug3: hostkeys_find: found ecdsa-sha2-nistp256 key at /Users/username/.ssh/known_hosts:17
debug1: client_input_hostkeys: searching /Users/username/.ssh/known_hosts2 for hostname / (none)
debug1: client_input_hostkeys: hostkeys file /Users/username/.ssh/known_hosts2 does not exist
debug3: client_input_hostkeys: 3 server keys: 0 new, 3 retained, 0 incomplete match. 0 to remove
debug1: client_input_hostkeys: no new or deprecated keys from server
debug3: receive packet: type 91
debug2: channel_input_open_confirmation: channel 0: callback start
debug1: X11 forwarding requested but DISPLAY not set
debug2: fd 5 setting TCP_NODELAY
debug3: set_sock_tos: set socket 5 IP_TOS 0x48
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug1: Sending environment.
debug3: Ignored env __CFBundleIdentifier
debug3: Ignored env TMPDIR
debug3: Ignored env XPC_FLAGS
debug3: Ignored env TERM
debug3: Ignored env SSH_AUTH_SOCK
debug3: Ignored env XPC_SERVICE_NAME
debug3: Ignored env TERM_PROGRAM
debug3: Ignored env TERM_PROGRAM_VERSION
debug3: Ignored env TERM_SESSION_ID
debug3: Ignored env SHELL
debug3: Ignored env HOME
debug3: Ignored env LOGNAME
debug3: Ignored env USER
debug3: Ignored env PATH
debug3: Ignored env SHLVL
debug3: Ignored env PWD
debug3: Ignored env OLDPWD
debug3: Ignored env HOMEBREW_PREFIX
debug3: Ignored env HOMEBREW_CELLAR
debug3: Ignored env HOMEBREW_REPOSITORY
debug3: Ignored env MANPATH
debug3: Ignored env INFOPATH
debug3: Ignored env NVM_DIR
debug3: Ignored env NVM_CD_FLAGS
debug3: Ignored env NVM_BIN
debug3: Ignored env NVM_INC
debug3: Ignored env JAVA_HOME
debug1: channel 0: setting env LANG = "ja_JP.UTF-8"
debug2: channel 0: request env confirm 0
debug3: send packet: type 98
debug3: Ignored env _
debug3: Ignored env __CF_USER_TEXT_ENCODING
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: send packet: type 80
debug3: send packet: type 1
client_loop: send disconnect: Broken pipe
Below is the console log
17:28:33.343367+0900 kernel arm64e_plugin_host: running binary "ssh" in keys-off mode due to entitlement: com.apple.private.security.clear-library-validation
17:28:33.349023+0900 opendirectoryd UID: 501, EUID: 501, GID: 20, EGID: 20, PID: 19816, PROC: ssh RPC: getpwuid, Module: SystemCache, rpc_version: 2, uid: 501
17:28:33.351006+0900 opendirectoryd UID: 501, EUID: 501, GID: 20, EGID: 20, PID: 19816, PROC: ssh RPC: getservbyname, Module: SystemCache, proto: <private>, rpc_version: 2, name: <private>
17:28:33.351876+0900 ssh networkd_settings_read_from_file initialized networkd settings by reading plist directly
17:28:33.352116+0900 ssh networkd_settings_read_from_file initialized networkd settings by reading plist directly
17:28:33.352392+0900 ssh nw_connection_create_with_id [C1] create connection to Hostname#1c2b53eb:22
17:28:33.352643+0900 ssh [C1 93F547D1-F80F-40C8-8AFB-54579889F941 Hostname#1c2b53eb:22 tcp, attribution: developer, context: Default Network Context (private), proc: F767ECD7-40C5-38A7-954F-79C7799C1079, allow socket access, prefer no proxy] start
17:28:33.352679+0900 ssh nw_endpoint_handler_start [C1 Hostname#1c2b53eb:22 initial path ((null))]
17:28:33.352708+0900 ssh [C1 Hostname#1c2b53eb:22 initial path ((null))] event: path:start @0.000s
17:28:33.353212+0900 ssh [C1 Hostname#1c2b53eb:22 waiting path (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: path:satisfied @0.000s, uuid: D89C9BA6-3009-42D8-BEDE-E7110ED5C92A
17:28:33.353243+0900 ssh nw_connection_endpoint_report_on_nw_queue [C1 Hostname#1c2b53eb:22 waiting path (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] skipping state update
17:28:33.353308+0900 ssh [C1 Hostname#1c2b53eb:22 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: resolver:start_dns @0.000s
17:28:33.353327+0900 ssh nw_connection_report_state_with_handler_on_nw_queue [C1] reporting state preparing
17:28:33.353553+0900 opendirectoryd UID: 501, EUID: 501, GID: 20, EGID: 20, PID: 19816, PROC: ssh RPC: getservbyport, Module: SystemCache, proto: <private>, rpc_version: 2, port: 22
17:28:33.353802+0900 ssh nw_resolver_create_dns_getaddrinfo_locked [C1] Starting host resolution Hostname#1c2b53eb:22, flags 0xc000d000 proto 0 using hostname: <NO HOSTNAME>
17:28:33.354187+0900 mDNSResponder [R1920] getaddrinfo start -- flags: 0xC000D000, ifindex: 0, protocols: 0, hostname: <mask.hash: 'HygFcDKLQNznf7AN7FrMLQ=='>, options: 0x8 {use-failover}, client pid: 19816 (ssh)
17:28:33.355158+0900 ssh nw_resolver_create_dns_getaddrinfo_locked_block_invoke [C1] Got 2 DNS results
17:28:33.355191+0900 ssh nw_resolver_create_dns_getaddrinfo_locked_block_invoke [C1] Got DNS result type NoAddress ifindex=0 <private> <private> IN6ADDR_ANY
17:28:33.355207+0900 ssh nw_resolver_create_dns_getaddrinfo_locked_block_invoke [C1] Got DNS result type Add ifindex=0 <private> <private> IPv4#fe3a2481
17:28:33.355222+0900 ssh nw_resolver_create_dns_getaddrinfo_locked_block_invoke [C1] Got DNS negative reason: query suppressed
17:28:33.355330+0900 mDNSResponder [R1920] getaddrinfo stop -- hostname: <mask.hash: 'HygFcDKLQNznf7AN7FrMLQ=='>, client pid: 19816 (ssh)
17:28:33.355319+0900 ssh nw_endpoint_resolver_update [C1 Hostname#1c2b53eb:22 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] Adding endpoint handler for IPv4#fe3a2481:22
17:28:33.355361+0900 ssh [C1 Hostname#1c2b53eb:22 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: resolver:receive_dns @0.002s
17:28:33.355384+0900 ssh nw_resolver_create_dns_getaddrinfo_locked_block_invoke [C1] Invalidating getaddrinfo DNS object
17:28:33.355412+0900 ssh nw_endpoint_resolver_start_next_child [C1 Hostname#1c2b53eb:22 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] starting child endpoint IPv4#fe3a2481:22
17:28:33.355428+0900 ssh nw_endpoint_handler_start [C1.1 IPv4#fe3a2481:22 initial path ((null))]
17:28:33.355607+0900 ssh [C1.1 IPv4#fe3a2481:22 initial path ((null))] event: path:start @0.002s
17:28:33.355843+0900 ssh [C1.1 IPv4#fe3a2481:22 waiting path (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: path:satisfied @0.003s, uuid: DD9095F0-4C3F-41CF-B904-3C99A3F32AA3
17:28:33.356190+0900 ssh nw_endpoint_flow_setup_protocols [C1.1 IPv4#fe3a2481:22 in_progress socket-flow (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] setup flow id 1892069E-6306-48B5-B0CB-BF8E83C7301B
17:28:33.356712+0900 ssh [C1.1 IPv4#fe3a2481:22 in_progress socket-flow (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: flow:start_connect @0.004s
17:28:33.357086+0900 ssh nw_endpoint_resolver_start_next_child [C1 Hostname#1c2b53eb:22 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] starting next child endpoint in 100ms
17:28:33.405934+0900 ssh nw_socket_handle_socket_event [C1.1:1] Socket received CONNECTED event
17:28:33.406369+0900 ssh nw_flow_connected [C1.1 IPv4#fe3a2481:22 in_progress socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns, expensive)] Output protocol connected (socket)
17:28:33.406693+0900 ssh nw_endpoint_flow_connected_path_change [C1.1 IPv4#fe3a2481:22 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns, expensive)] Connected path is satisfied, viable
17:28:33.406810+0900 ssh [C1.1 IPv4#fe3a2481:22 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns, expensive)] event: flow:finish_connect @0.054s
17:28:33.408118+0900 ssh nw_connection_endpoint_report_on_nw_queue [C1] Connected fallback generation 0
17:28:33.408159+0900 ssh nw_connection_report_state_with_handler_on_nw_queue [C1] reporting state ready
17:28:33.408368+0900 ssh [C1 Hostname#1c2b53eb:22 ready resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: flow:finish_connect @0.055s
17:28:33.408525+0900 ssh [C1.1 IPv4#fe3a2481:22 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns, expensive)] event: flow:changed_viability @0.055s
17:28:33.408571+0900 ssh [C1 Hostname#1c2b53eb:22 ready resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: flow:changed_viability @0.055s
17:29:23.355087+0900 ssh nw_socket_handle_socket_event [C1.1:1] Socket received TIMEOUT event
17:29:23.355113+0900 ssh nw_socket_handle_socket_event [C1.1:1] Socket received DISCONNECTED event
17:29:23.355159+0900 ssh nw_socket_handle_socket_event [C1.1:1] Socket SO_ERROR: 0
17:29:23.358937+0900 opendirectoryd PID: 19816, Client: 'ssh', exited with 0 session(s), 0 node(s) and 0 active request(s)
17:29:23.355396+0900 ssh nw_flow_error [C1.1 IPv4#fe3a2481:22 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns, expensive)] Output protocol (socket) sent error: Operation timed out
17:29:23.355448+0900 ssh nw_flow_disconnected [C1.1 IPv4#fe3a2481:22 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns, expensive)] Output protocol disconnected
17:29:23.355766+0900 ssh [C1.1 IPv4#fe3a2481:22 failed socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns, expensive)] event: flow:disconnect @50.003s, error Operation timed out
17:29:23.356370+0900 ssh nw_connection_report_state_with_handler_on_nw_queue [C1] reporting state failed error Operation timed out
17:29:23.356554+0900 ssh [C1 Hostname#1c2b53eb:22 failed resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns, expensive)] event: flow:disconnect @50.004s
Then I noticed that I can't get an ssh connection at the office, but I can get an ssh connection from home.
I am assuming that this is related to the fact that our office internet connection uses IPv6 native connection using IPoE and the ssh connection destination is an IPv4 IP address.