1 votos

Telnet en Monterey

Estoy teniendo problemas para abrir telnet en Monterey a través del navegador. Puedo utilizar telnet manualmente usando el comando y funciona perfectamente; lo mismo si configuro iTerm2 como la aplicación predeterminada, pero realmente me gustaría usar Terminal nativo. En las preferencias tengo seleccionada la opción "Nuevas ventanas se abren con el perfil predeterminado".

El error que estoy recibiendo es:

[Comando no encontrado: telnet]

[No se pudo crear un nuevo proceso y abrir un pseudotty.]

2 votos

¿Qué programa telnet está instalado en tu Mac (es decir, ¿es de homebrew u otra fuente), y dónde está ubicado (es decir, si ejecutas type -a telnet, ¿qué muestra)?

0 votos

De hecho lo instalé desde homebrew. La salida de type -a telnet es: telnet is /opt/homebrew/bin/telnet telnet is /usr/local/bin/telnet telnet is /opt/homebrew/bin//telnet

0 votos

Cuando dices "abrir Telnet a través del navegador", ¿es en Safari y qué tipo de enlace o página se está navegando?

4voto

Jess Thrysoee Puntos 131

Instala telnet y agrega su directorio de instalación al PATH de Launch Services:

sudo launchctl config user path "$(sysctl -n user.cs_path):$(dirname "$(command -v telnet)")"

Esto asume que launchctl getenv PATH devuelve una cadena vacía y que telnet está en el PATH de las shells.

Explicación

Las aplicaciones pueden registrar su capacidad para manejar el Esquema de URL telnet:// con Launch Services, como lo ha hecho Terminal.app en /System/Applications/Utilities/Terminal.app/Contents/Info.plist:

CFBundleURLTypes

    CFBundleURLName
    telnet URL
    CFBundleURLSchemes

      telnet

Pero telnet ya no viene incluido en macOS, así que debemos instalarlo nosotros mismos, con brew install telnet o siguiendo una guía de Cómo Obtener Telnet.

Sin embargo, incluso después de la instalación, es posible que aún falle:

$ open telnet://localhost:23

[Comando no encontrado: telnet]

[No se pudo crear un nuevo proceso y abrir un pseudo-terminal.]

Falla cuando el PATH de Launch Services no contiene el directorio de instalación de telnet. El valor actual de este PATH se puede imprimir con launchctl getenv PATH; si está vacío, el valor por defecto es /usr/bin:/bin:/usr/sbin:/sbin como se ve en sysctl -n user.cs_path. Todos estos directorios están protegidos por Protección de la Integridad del Sistema, por lo que no deberíamos haber instalado telnet en ninguno de ellos.

Podemos solucionar esto agregando el directorio de instalación de telnet al PATH con launchctl config user path , ver launchctl(1).

Deshacer

Restablece el PATH de Launch Services al valor por defecto con:

sudo launchctl config user path ""

2voto

rybosome Puntos 1829

telnet ya no se incluye de forma predeterminada en las instalaciones de macOS, ya que es un protocolo poco utilizado y extremadamente inseguro. Cuando realmente necesitas usarlo, puedes instalarlo utilizando uno de los repositorios estándar de software de macOS, como Homebrew, o compilándolo e instalándolo tú mismo desde el origen. gnu netutils contiene una implementación de este tipo.

Si puedes simplemente ejecutar telnet desde Terminal, eso significa que ya lo has instalado en alguna parte y puede ser localizado a través de tu variable de entorno PATH. Puedes usar which telnet para ver dónde se encuentra. Luego, puedes utilizar esa ruta explícita para tus ajustes de perfil de Terminal.

ACTUALIZACIÓN:

Aquí tienes los pasos para configurar Terminal y ejecutar telnet al iniciar.

  1. Abre Terminal.
  2. Navega a Terminal > Preferencias.
  3. Selecciona la pestaña Perfiles.
  4. En tu perfil por defecto, haz clic en la pestaña Shell.
  5. En el campo que dice "Ejecutar comando:", reemplaza el comando existente con la ruta absoluta a telnet. En tu caso, sería /opt/homebrew/bin/telnet.
  6. Opcionalmente puedes habilitar o deshabilitar la opción "Ejecutar dentro del shell" según tus preferencias.

-1voto

DefaultVLAN Puntos 11

Lo logré funcionando.

La única solución que finalmente lo arregló fue deshabilitar SIP, deshabilitar root autenticado, montar la partición root, copiar telnet a /usr/bin y luego confirmar los cambios en la partición.

Telnet funciona perfectamente ahora.

2 votos

Si simplemente lo instalas en /usr/local/bin, entonces no necesitarás omitir ninguna de las medidas de seguridad del sistema.

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