我从运行虚拟机的Windows主机系统连接到虚拟的solaris机器。 这工作了一段时间,但一段时间后连接消失。
stange的东西是sshd声称连接被peer重置,而ssh会话表示连接被远程主机closures。
我已经设法手动启动sshd( /usr/lib/ssh/sshd -d ),这样我得到如下所示的debugging输出,但是我完全不知所措。
事情到目前为止:
/var/log/authlog :它是空的 /etc/ssh/ssh_config允许密码loginPasswordAuthentication是,并使用:不变 问题:我卡住了,我怎么能继续解决这个问题呢?
更多信息:
启动ssh守护进程:
bash-3.2# /usr/lib/ssh/sshd -d debug1: sshd version Sun_SSH_1.1.5 debug1: read PEM private key done: type RSA debug1: private host key: #0 type 1 RSA debug1: read PEM private key done: type DSA debug1: private host key: #1 type 2 DSA debug1: Bind to port 22 on ::. Server listening on :: port 22.
从远程连接:
debug1: Server will not fork when running in debugging mode. Connection from 10.0.2.2 port 26688 debug1: Client protocol version 2.0; client software version OpenSSH_6.2 debug1: match: OpenSSH_6.2 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-Sun_SSH_1.1.5 monitor debug1: list_hostkey_types: ssh-rsa,ssh-dss debug1: use_engine is 'yes' monitor debug1: reading the context from the child debug1: pkcs11 engine initialized, now setting it as default for RSA, DSA, and symmetric ciphers debug1: pkcs11 engine initialization complete debug1: list_hostkey_types: ssh-rsa,ssh-dss debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: client->server aes128-ctr hmac-md5 zlib debug1: kex: server->client aes128-ctr hmac-md5 zlib debug1: Peer sent proposed langtags, ctos: debug1: Peer sent proposed langtags, stoc: debug1: We proposed langtags, ctos: i-default debug1: We proposed langtags, stoc: i-default debug1: SSH2_MSG_KEX_DH_GEX_REQUEST received debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent debug1: dh_gen_key: priv key bits set: 134/256 debug1: bits set: 526/1024 debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT debug1: bits set: 497/1024 debug1: SSH2_MSG_KEX_DH_GEX_REPLY sent debug1: newkeys: mode 1 debug1: set_newkeys: setting new keys for 'out' mode debug1: Enabling compression at level 6. debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: newkeys: mode 0 debug1: set_newkeys: setting new keys for 'in' mode debug1: SSH2_MSG_NEWKEYS received debug1: KEX done debug1: userauth-request for user beginner service ssh-connection method none debug1: attempt 0 initial attempt 0 failures 0 initial failures 0 Failed none for beginn from 10.0.2.2 port 26688 ssh2 debug1: userauth-request for user beginner service ssh-connection method passworddebug1: attempt 1 initial attempt 0 failures 1 initial failures 0 Accepted password for beginner from 10.0.2.2 port 26688 ssh2 debug1: permanently_set_uid: 54324/1 debug1: sending auth context to the monitor debug1: will send 41 bytes of auth context to the monitor monitor debug1: finished reading the context monitor debug1: use_engine is 'yes' monitor debug1: pkcs11 engine initialized, now setting it as default for RSA, DSA, and symmetric ciphers monitor debug1: pkcs11 engine initialization complete monitor debug1: Entering monitor loop. monitor debug1: fd 9 setting O_NONBLOCK monitor debug1: fd 10 setting O_NONBLOCK debug1: Entering interactive session for SSH2. debug1: fd 9 setting O_NONBLOCK debug1: fd 10 setting O_NONBLOCK debug1: server_init_dispatch_20 debug1: server_input_channel_open: ctype session rchan 0 win 1048576 max 16384 debug1: input_session_request debug1: channel 0: new [server-session] debug1: session_new: init debug1: session_new: session 0 debug1: session_open: channel 0 debug1: session_open: session 0: link with channel 0 debug1: server_input_channel_open: confirm session debug1: server_input_channel_req: channel 0 request x11-req reply 1 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req x11-req debug1: bind port 6010: Address already in use; skipping this port debug1: bind port 6011: Address already in use; skipping this port debug1: bind port 6012: Address already in use; skipping this port debug1: bind port 6013: Address already in use; skipping this port debug1: fd 11 setting O_NONBLOCK debug1: channel 1: new [X11 inet listener] debug1: server_input_channel_req: channel 0 request pty-req reply 1 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req pty-req debug1: Allocating pty. debug1: session_pty_req: session 0 alloc /dev/pts/8 debug1: server_input_channel_req: channel 0 request shell reply 1 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req shell debug1: Setting controlling tty using TIOCSCTTY. debug1: fd 4 setting TCP_NODELAY debug1: SSH receive window size: 198560 B debug1: fd 13 setting O_NONBLOCK
启动emacs并工作一段时间:
debug1: server_input_global_request: rtype [email protected] want_reply 1 debug1: server_input_global_request: rtype [email protected] want_reply 1 debug1: X11 connection requested. debug1: fd 16 setting TCP_NODELAY debug1: channel 2: new [X11 connection from 127.0.0.1 port 33079] debug1: channel 2: open confirm rwindow 2097152 rmax 16384 debug1: channel 2: read<=0 rfd 16 len 0 debug1: channel 2: read failed debug1: channel 2: close_read debug1: channel 2: input open -> drain debug1: channel 2: ibuf empty debug1: channel 2: send eof debug1: channel 2: input drain -> closed debug1: channel 2: rcvd eof debug1: channel 2: output open -> drain debug1: channel 2: obuf empty debug1: channel 2: close_write debug1: channel 2: output drain -> closed debug1: channel 2: rcvd close debug1: channel 2: send close debug1: channel 2: is dead debug1: channel 2: garbage collecting debug1: channel_free: channel 2: X11 connection from 127.0.0.1 port 33079, nchan nels 3 debug1: X11 connection requested. debug1: fd 16 setting TCP_NODELAY debug1: channel 2: new [X11 connection from 127.0.0.1 port 33080] debug1: channel 2: open confirm rwindow 2097152 rmax 16384 debug1: channel 2: read<=0 rfd 16 len 0 debug1: channel 2: read failed debug1: channel 2: close_read debug1: channel 2: input open -> drain debug1: channel 2: ibuf empty debug1: channel 2: send eof debug1: channel 2: input drain -> closed debug1: X11 connection requested. debug1: fd 17 setting TCP_NODELAY debug1: channel 3: new [X11 connection from 127.0.0.1 port 33081] debug1: channel 2: rcvd eof debug1: channel 2: output open -> drain debug1: channel 2: obuf empty debug1: channel 2: close_write debug1: channel 2: output drain -> closed debug1: channel 2: rcvd close debug1: channel 2: send close debug1: channel 2: is dead debug1: channel 2: garbage collecting debug1: channel_free: channel 2: X11 connection from 127.0.0.1 port 33080, nchan nels 4 debug1: channel 3: open confirm rwindow 2097152 rmax 16384 debug1: channel 3: read<=0 rfd 17 len 0 debug1: channel 3: read failed debug1: channel 3: close_read debug1: channel 3: input open -> drain debug1: channel 3: ibuf empty debug1: channel 3: send eof debug1: channel 3: input drain -> closed debug1: channel 3: rcvd eof debug1: channel 3: output open -> drain debug1: channel 3: obuf empty debug1: channel 3: close_write debug1: channel 3: output drain -> closed debug1: channel 3: send close debug1: channel 3: rcvd close debug1: channel 3: is dead debug1: channel 3: garbage collecting debug1: channel_free: channel 3: X11 connection from 127.0.0.1 port 33081, nchan nels 3 debug1: X11 connection requested. debug1: fd 16 setting TCP_NODELAY debug1: channel 2: new [X11 connection from 127.0.0.1 port 33084] debug1: channel 2: open confirm rwindow 2097152 rmax 16384 debug1: X11 connection requested. debug1: fd 17 setting TCP_NODELAY debug1: channel 3: new [X11 connection from 127.0.0.1 port 33085] debug1: channel 2: read<=0 rfd 16 len 0 debug1: channel 2: read failed debug1: channel 2: close_read debug1: channel 2: input open -> drain debug1: channel 2: ibuf empty debug1: channel 2: send eof debug1: channel 2: input drain -> closed debug1: channel 3: open confirm rwindow 2097152 rmax 16384 debug1: channel 2: rcvd eof debug1: channel 2: output open -> drain debug1: channel 2: obuf empty debug1: channel 2: close_write debug1: channel 2: output drain -> closed debug1: channel 2: rcvd close debug1: channel 2: send close debug1: channel 2: is dead debug1: channel 2: garbage collecting debug1: channel_free: channel 2: X11 connection from 127.0.0.1 port 33084, nchan nels 4 debug1: X11 connection requested. debug1: fd 16 setting TCP_NODELAY debug1: channel 2: new [X11 connection from 127.0.0.1 port 33086] debug1: channel 3: read<=0 rfd 17 len 0 debug1: channel 3: read failed debug1: channel 3: close_read debug1: channel 3: input open -> drain debug1: channel 3: ibuf empty debug1: channel 3: send eof debug1: channel 3: input drain -> closed debug1: channel 2: open confirm rwindow 2097152 rmax 16384 debug1: channel 3: rcvd eof debug1: channel 3: output open -> drain debug1: channel 3: obuf empty debug1: channel 3: close_write debug1: channel 3: output drain -> closed debug1: channel 3: rcvd close debug1: channel 3: send close debug1: channel 3: is dead debug1: channel 3: garbage collecting debug1: channel_free: channel 3: X11 connection from 127.0.0.1 port 33085, nchan nels 4
经过一段随机时间间隔后:连接丢失:
Read error from remote host 10.0.2.2: Connection reset by peer debug1: Calling cleanup 0x806d882(0x80afd90) debug1: session_pty_cleanup: session 0 release /dev/pts/8 debug1: Calling cleanup 0x80729a7(0x0) debug1: channel_free: channel 0: server-session, nchannels 3 debug1: channel_free: channel 1: X11 inet listener, nchannels 2 debug1: channel_free: channel 2: X11 connection from 127.0.0.1 port 33086, nchannels 1 debug1: Calling cleanup 0x8064fe7(0x80c1318) debug1: Calling cleanup 0x807e79a(0x0) debug1: compress outgoing: raw data 36410262, compressed 3980612, factor 0.11 debug1: compress incoming: raw data 18374832, compressed 674656, factor 0.04 monitor debug1: Monitor received SIGCHLD.
inputssh的输出:
~> ssh [email protected] -p 2222 Connection to 127.0.0.1 closed by remote host. Connection to 127.0.0.1 closed
两台机器之间是否有NAT路由器? 它可能会closures连接做到不活动和超时?
SSH客户端可以打开SSH级别的KeepAlive以避免这种情况。
对于openssh客户端,我们将以下内容包含在客户端configuration文件(/ etc / ssh / ssh_config或〜/ .ssh / config)中:
KeepAlive是的
刚在CentOS7上解决了类似的情况。 事实certificate'nmtui'命令对话框在我们的静态IP地址的末尾静静地添加了一个'/ 32'。 这将networking掩码更改为255.255.255.255,并将广播IP与接口相同的IP。 这导致了一些非常不寻常的ARP行为,并导致许多丢失的连接。 运行“ifconfig -a”来仔细检查你的networking掩码和广播设置。