GNU/Linux >> Linux Esercitazione >  >> Linux

Errore SFTP Messaggio ricevuto troppo lungo

Configura il tuo server per utilizzare il server sftp interno aggiungendo la seguente direttiva a /etc/ssh/sshd_config :

Subsystem sftp internal-sftp

In questo modo, non utilizzerà la shell utente per avviare il programma del server sftp.


"Messaggio ricevuto troppo lungo" significa che il tuo client SFTP ha ricevuto dati errati dal server SFTP. Il motivo tipico è che gli script di avvio della shell sul server (.bashrc, .profile, .cshrc, ecc.) stanno producendo un output e il tuo client SFTP sta tentando di analizzare quell'output come un messaggio SFTP. Puoi verificarlo eseguendo il comando:

ssh [email protected] 'echo hello'

Se questo produce un output diverso da "ciao", allora quell'output probabilmente impedirebbe a SFTP o SCP di funzionare correttamente.

Come nella risposta di salva, puoi evitarlo impostando il server SSH in modo che utilizzi internal-sftp per le sessioni SFTP. Ciò evita di avviare la shell per le sessioni SFTP. Questo non aiuterà con SCP o con altri programmi come git o rsync che girano attraverso ssh.

L'altro modo per risolvere questo problema è passare attraverso i comandi di avvio della shell, capire cosa sta producendo l'output e impedire che ciò accada durante le sessioni SSH non interattive. Un suggerimento è quello di testare un TTY prima di eseguire comandi che producono output:

if [ -t 1 ]; then
    # standard output is a TTY
    ...
fi

Linux
  1. Risoluzione dell'errore MySQL:troppi file aperti

  2. Errore OpenCA – Lunghezza della chiave simmetrica troppo breve [Soluzione]

  3. Ubuntu - Elenco di argomenti troppo lungo?

  4. Impossibile rimuovere i file dalla directory con l'errore "Elenco di argomenti troppo lungo"

  5. La riga di comando si sovrascrive quando i comandi diventano troppo lunghi

Correzione dell'errore Nginx:413 Entità richiesta troppo grande

Output di Mail Cron solo quando Git genera un errore reale?

Spiegazione:input, output e reindirizzamento degli errori in Linux

grep output da lungo a largo

Messaggio di errore Postgres:FATAL:autenticazione Ident non riuscita per l'utente ...

Richiesta di avvio del servizio ripetuta troppo rapidamente, rifiutando il limite di avvio