1 votos

El inicio de sesión de SFTP en MacOS 15 falla con "Mensaje demasiado largo"

Desde Centos 8 linux necesito transferir algunos archivos a algunas máquinas MacOS.

Funciona desde Linux a MacOS 10.13:

sftp danny@Mac10_13_Machine
La autenticidad del host '192.168.2.3 (192.168.2.3)' no puede ser establecida.
La huella digital de la clave ECDSA es SHA256:SRCu/I2rEqFlhy5Y9zdDHVbrAgzPRMG7Z/6tT9S58UA.
¿Seguro que desea continuar conectándose (yes/no/[fingerprint])? yes
Aviso: Se ha añadido '192.168.2.3' (ECDSA) a la lista de hosts conocidos de forma permanente.
Contraseña:
Conectado a danny@192.168.2.30.

Sin embargo, intentar lo mismo en una máquina recientemente actualizada a 15.0.1 produce un mensaje de error extraño:

$ sftp danny@Mac_15_Machine
Contraseña:
Received message too long 778199411

Comprobé con WireShark y no hay un paquete enorme enviado por la red, pero como está encriptado con SSH no puedo realmente depurar más.

¿Alguien ha logrado hacer que el servidor sftp funcione correctamente en MacOS 15?

EDIT I

De hecho, como se sugiere a continuación, bash en MacOS 15 imprime algunas cosas al iniciar sesión:

$ ssh danny@xx.xx.xx.xx
Contraseña:
Último inicio de sesión: mié oct  9 09:18:06 2024

La shell interactiva predeterminada es ahora zsh.
Para actualizar su cuenta y usar zsh, ejecute `chsh -s /bin/zsh`.
Para más detalles, por favor visite https://support.apple.com/kb/HT208050.

Entonces es Apple que está imprimiendo los mensajes en el inicio de sesión de ssh. No quiero cambiar a zsh. Busqué en ~/.bash* y /etc/bash* pero no encontré nada que estuviera imprimiendo ese mensaje. ¿Alguien sabe cómo desactivarlo?

2voto

Linc D. Puntos 11

En pocas palabras, .bashrc, .bash_profile, .cshrc, .profile, etc., [en el servidor] tienen que estar en silencio para sesiones no interactivas o interferirán con el protocolo de conexión sftp / scp.


sftp da un error: "Mensaje recibido demasiado largo" ¿cuál es la razón? (unix.stackexchange.com)

Si el servidor SFTP es un Mac de última generación, el usuario objetivo tiene el BASH integrado como shell predeterminado y no desea cambiarlo, ejecute esto como ese usuario:

echo export BASH_SILENCE_DEPRECATION_WARNING=1 >> ~/.bash_profile

Ten en cuenta que BASH está obsoleto y desactualizado, y eventualmente será eliminado en una versión futura de macOS.

0voto

Joel Puntos 112

Un par de pensamientos:

1. ¿Quizás intentar scp como una alternativa a sftp?

En comparaciones, scp es generalmente considerado más rápido que sftp, y más fácil de usar. Estas son, por supuesto, opiniones de los varios autores que revisan tales cosas.

2. Usar el sub-sistema internal-sftp (N.B. ¡No he probado esto!)

Aquí hay algo más que puede que desees probar, pero no puedo dar ninguna garantía de que funcionará en tu máquina 'MacOS 15' (o en cualquier máquina de Apple) porque no lo he probado (para tu información, una Referencia):

Edita /etc/ssh/sshd_config de la siguiente manera:

% vim /etc/ssh/sshd_config    # o 'nano' o cualquier otro editor que prefieras...

# con el archivo abierto, encuentra una línea(s) similar a:
# # override default of no subsystems
# #Subsystem      sftp    /usr/libexec/sftp-server

# Justo debajo de esa línea (para mantener todo junto), añade la siguiente línea:

Subsystem sftp internal-sftp

# guarda, cierra, reinicia sshd (o reinicia tu Mac) 

%

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