3 votos

No se puede realizar la conexión ssh sólo desde MacOS

Antes de actualizar a 12.5 podía conectarme por SSH sin problemas, pero después de la actualización ya no puedo conectarme.

La situación es similar a la siguiente No se puede acceder por SSH a otros servidores tras la actualización de Monterey 12.5

Hice algunas comprobaciones adicionales.

Intenté conectarme desde una máquina virtual Parallels y pude conectarme vía SSH desde una máquina virtual Linux y una máquina virtual Windows, pero no desde MacOS (12.3.1)

A continuación se muestra la información de ssh -vvv

Parece que funciona bien hasta la autenticación ssh.

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 no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: exec
debug3: receive packet: type 80
debug1: client_input_global_request: rtype hostkeys-00@openssh.com 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

A continuación se muestra el registro de la consola

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

Entonces me di cuenta de que no puedo conseguir una conexión ssh en la oficina, pero puedo conseguir una conexión ssh desde casa.

Supongo que esto está relacionado con el hecho de que la conexión a Internet de nuestra oficina utiliza una conexión nativa IPv6 usando IPoE y el destino de la conexión ssh es una dirección IPv4.

2voto

pr0n1s Puntos 21

Resuelto.

Resuelto añadiendo la configuración de QoS a ~/.ssh/config.

Host *
  IPQoS cs1

El valor de la configuración de IPQoS se puede mejorar especificando 0x00 o nada más que cs1

He utilizado el contenido de esta página japonesa como referencia.

https://qiita.com/hoto17296/items/d8874a67b082dcc42516

0 votos

¿Ha cambiado la actualización de MacOS las especificaciones de QoS?

0 votos

El valor de configuración de IPQoS es que el valor por defecto para OpenSSH es AF21. openssh.com/releasenotes.html El DSCP que puede establecerse para IPQoS se describe en esta parte de la RFC datatracker.ietf.org/doc/html/rfc4594#section-4.7 He probado la configuración de ~/.ssh/config y AF21 y AF23 no podían comunicarse, AF22 podía conectarse, así que voy a poner AF22 por un tiempo y ver cómo va.

0 votos

Las respuestas a estas otras preguntas son muy útiles. apple.stackexchange.com/a/356535/468790

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X