SSH 不只从 Ubuntu 响应

Jun*_*yuk 6 ssh ubuntu

我们有几个安装了 Windows 和 Ubuntu 的桌面。但是,其中一些无法仅从 Ubuntu 连接到某些服务器。以下是当前状态的摘要:

  • 无法从 Ubunutu (14.04, 16.04) 连接到服务器
    • 如果用户名/密码错误,则会显示“权限被拒绝”
    • 如果用户名/密码正确,它会卡住一个小时并给出“Broken Pipe”错误。
    • 服务器日志显示连接已获批准,但没有终端历史记录。
  • 可以从 Windows 连接到服务器(使用腻子)
  • 可以从 Ubuntu 连接到其他服务器
  • 可以从Ubuntu“ping”它们

以下是输出 ssh -vvv username@host

username@host's password: 
debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 52
debug1: Authentication succeeded (password).
Authenticated to host ([host_ip]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 80
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug3: receive packet: type 91
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug1: Sending environment.
debug3: Ignored env XDG_VTNR
debug3: Ignored env ORBIT_SOCKETDIR
debug3: Ignored env XDG_SESSION_ID
debug3: Ignored env XDG_GREETER_DATA_DIR
debug3: Ignored env TERMINATOR_UUID
debug3: Ignored env IBUS_DISABLE_SNOOPER
debug3: Ignored env CLUTTER_IM_MODULE
debug3: Ignored env SESSION
debug3: Ignored env GIO_LAUNCHED_DESKTOP_FILE_PID
debug3: Ignored env GPG_AGENT_INFO
debug3: Ignored env TERM
debug3: Ignored env SHELL
debug3: Ignored env QT_LINUX_ACCESSIBILITY_ALWAYS_ON
debug3: Ignored env WINDOWID
debug3: Ignored env UPSTART_SESSION
debug3: Ignored env GNOME_KEYRING_CONTROL
debug3: Ignored env GTK_MODULES
debug3: Ignored env USER
debug3: Ignored env LS_COLORS
debug3: Ignored env QT_ACCESSIBILITY
debug3: Ignored env LD_LIBRARY_PATH
debug3: Ignored env XDG_SESSION_PATH
debug3: Ignored env XDG_SEAT_PATH
debug3: Ignored env SSH_AUTH_SOCK
debug3: Ignored env DEFAULTS_PATH
debug3: Ignored env GIO_LAUNCHED_DESKTOP_FILE
debug3: Ignored env XDG_CONFIG_DIRS
debug3: Ignored env DESKTOP_SESSION
debug3: Ignored env PATH
debug3: Ignored env QT_IM_MODULE
debug3: Ignored env QT_QPA_PLATFORMTHEME
debug3: Ignored env XDG_SESSION_TYPE
debug3: Ignored env PWD
debug3: Ignored env JOB
debug3: Ignored env XMODIFIERS
debug3: Ignored env GNOME_KEYRING_PID
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug3: send packet: type 98
debug3: Ignored env LUA_PATH
debug3: Ignored env GDM_LANG
debug3: Ignored env MANDATORY_PATH
debug3: Ignored env LUA_CPATH
debug3: Ignored env COMPIZ_CONFIG_PROFILE
debug3: Ignored env IM_CONFIG_PHASE
debug3: Ignored env GDMSESSION
debug3: Ignored env SESSIONTYPE
debug3: Ignored env GTK2_MODULES
debug3: Ignored env SHLVL
debug3: Ignored env HOME
debug3: Ignored env XDG_SEAT
debug3: Ignored env LANGUAGE
debug3: Ignored env GNOME_DESKTOP_SESSION_ID
debug3: Ignored env UPSTART_INSTANCE
debug3: Ignored env DYLD_LIBRARY_PATH
debug3: Ignored env XDG_SESSION_DESKTOP
debug3: Ignored env UPSTART_EVENTS
debug3: Ignored env LOGNAME
debug3: Ignored env COMPIZ_BIN_PATH
debug3: Ignored env DBUS_SESSION_BUS_ADDRESS
debug3: Ignored env XDG_DATA_DIRS
debug3: Ignored env QT4_IM_MODULE
debug3: Ignored env LESSOPEN
debug3: Ignored env INSTANCE
debug3: Ignored env UPSTART_JOB
debug3: Ignored env XDG_RUNTIME_DIR
debug3: Ignored env DISPLAY
debug3: Ignored env XDG_CURRENT_DESKTOP
debug3: Ignored env GTK_IM_MODULE
debug3: Ignored env LESSCLOSE
debug3: Ignored env XAUTHORITY
debug3: Ignored env COLORTERM
debug3: Ignored env _
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
Run Code Online (Sandbox Code Playgroud)

在这一点之后它会卡住。

你有什么想法?

提前致谢!

Gil*_*il' 9

Savannah wiki上列出的一种可能解释是IP ToS(服务类型)字段。OpenSSH 将此标志设置为非默认值,并且一些路由器会阻塞它。

尝试ssh -o IPQoS=0 …; 如果问题消失,这就是原因。您可以通过IPQoSHost节中包含该选项来在每个服务器的基础上进行配置,例如将其添加到~/.ssh/config

Host somehost.example.com
IPQoS 0
Run Code Online (Sandbox Code Playgroud)

这也可能是MTU 问题,但这不太可能:通常,如果出现 MTU 问题,您可以登录交互式会话,但当应用程序一次显示大量输出并且文件传输仅适用于非常小的文件时,会话会挂起.