ssh - mobaxterm - winscp




Scrittura fallita: pipe rotta (5)

Invece di schermo, consiglierei tmux, un competitor (probabilmente) migliore per lo schermo

tmux new-session -s {name}

Quel comando crea una sessione. Ogni volta che vuoi connetterti:

tmux a -t {name}

Ho un server Ubuntu senza testa. Ho eseguito un comando sul server (sincronizzazione snapraid) su SSH dal mio Mac. Il comando dice che ci vorranno circa 6 ore, quindi l'ho lasciato per tutta la notte.

Quando sono arrivato stamattina, il terminale sul Mac ha detto: "Scrittura fallita: tubo rotto"

Non sono sicuro che il comando venga eseguito completamente. È un problema di timeout? In tal caso, come posso mantenere viva la connessione SSH durante la notte?


Io uso un router ASUS con due linee di input internet. Nomino il mio IP su una determinata linea e funziona.


Puoi usare "screen" util per quello. Basta collegarsi al server tramite SSH, avviare la sessione della schermata con l'esecuzione del comando "schermo", avviare il comando da lì e disconnettere (non uscire dalla sessione dello schermo). Quando ritieni che il tuo comando sia già stato eseguito, puoi collegarti al server e collegarlo alla sessione dello schermo in cui è possibile visualizzare il risultato / l'avanzamento dell'esecuzione del comando (nel caso in cui uno debba essere).

Vedi "schermata man" per maggiori dettagli.


Questo dovrebbe risolvere il problema per Mac OSX versione: 10.8.2

Inserisci:

ServerAliveInterval 120
TCPKeepAlive no

a questo file:

~/.ssh/config

Oppure, se si desidera che si tratti di una modifica globale nel client SSH, in questo file

/ Private / etc / ssh_config

"ServerAliveInterval 120" in pratica dice di "eseguire il ping" del server con un pacchetto NULL ogni 120s e "TCPKeepAlive no" significa non impostare l'opzione socket SO_KEEPALIVE (poiché non dovrebbe essere necessario con ServerAliveInterval già impostato, e apparentemente è "spoofable" "o qualcosa di strano).

Analogamente i server hanno qualcosa che potrebbero impostare per lo stesso effetto (ClientKeepAliveInterval) ma in genere non si ha il controllo su tali impostazioni.


ci sono due soluzioni

  1. Per aggiornare il server e riavviare il server sshd

echo "ClientAliveInterval 60" | sudo tee -a /etc/ssh/sshd_config

  1. Per aggiornare il client

echo "ServerAliveInterval 60" >> ~/.ssh/config







terminal