When I am logged into my home Linux machines via SSH, I get the following debug output a few times every minute:

debug2: channel 0: request window-change confirm 0

When I am editing files in nano, the debug message is displayed over top of the text. To remove the debug message, I have to close nano, execute clear, and then re-open the file. I get this whether I am using Secure Shell (Google Chrome extension), PuTTY, or Terminator (from local machine), though it's far worse on the former two.

Is there some way to suppress these messages? Will executing sshd -q do it, or is the debug output level specified during the compilation process?

  • 2
    Not a way to prevent the messages, but if you use Ctrl-L, nano should redraw the screen and get rid of the "junk", without needing to exit and reopen the file.
    – Anthon
    Commented Apr 20, 2016 at 20:36
  • I edited /etc/init/ssh.conf to add the -q option to sshd -D and restarted ssh. I then confimed that sshd is really running with -q option, it is. I'm still getting the messages though, so I suppose that doesn't suppress the debug2 messages. The man page is typically vague: -q Quiet mode. Causes most warning and diagnostic messages to be suppressed
    – Sophie
    Commented Apr 20, 2016 at 20:47

4 Answers 4


In my case, I was using

ssh -vv 

to see the detailed debug info and that was the reason why the server was showing

debug2: channel 0: request window-change confirm 0

in the terminal. I quit the SSH session and then connected again without verbose (-vv) and the problem disappeared.

  • I'm on Windows 10 using Git Bash and had an alias where my ssh command was calling it with -vvv; maybe that has been why I get so many random debug messages about window size changing etc.
    – Ryan
    Commented Oct 25, 2019 at 21:33
  • You can check if yours is getting aliased too using which ssh to see what it is actually executing when you run ssh Commented Feb 5 at 2:23

sshd is the daemon. You'd want to use the -q flag with the client (ssh).

When connecting to your home machines, include the -q flag in the ssh command (i.e. ssh -q user@host). Alternatively, if that doesn't work, you could try redirecting stderr to /dev/null by connecting to your home machines like ssh user@host 2> /dev/null.

  • Thanks, I completely spaced on that. Adding -q flag to Secure Shell seems to work. Haven't tried it with the other clients, yet, but I don't see why it wouldn't work with them, too.
    – Sophie
    Commented Apr 21, 2016 at 15:22

SSH supports in session increases/decreases in verbosity! Here's how to decrease the verbosity:

  1. At the command prompt, press Enter/Return. This only works just after pressing Enter
  2. Type a tilde ~ character. Notice that it doesn't appear in your terminal - this is by design.
  3. Type an uppercase V (for "less verbose" - a lowercase v makes the output more verbose)

You'll now see some output indicating your current debug level. Keep running through steps 1 - 3 until the debug level is decremented to your liking.

Full credit to https://twitter.com/freebsdfrau/status/1012367229139054594 for teaching me this.


Set LogLevel INFO in your server /etc/ssh/sshd_config. It should hide the most of messages. Also search for other occurrences of this option in that file.

  • I've changed the LogLevel to ERROR. I'm not entirely sure why debug2 messages are being output when LogLevel is set to INFO though, there is a separate level, DEBUG2, for that, it seems (assuming I correctly understand the purpose of DEBUG2).
    – Sophie
    Commented Apr 21, 2016 at 16:31
  • @AWildColin some of the log messages go also to the client at some condition. But yes, generally you are right.
    – Jakuje
    Commented Apr 21, 2016 at 18:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .