forked from ungleich-public/cdist
		
	+debug info
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
		
							parent
							
								
									4ff34a7aa8
								
							
						
					
					
						commit
						a09ee9a814
					
				
					 1 changed files with 279 additions and 0 deletions
				
			
		|  | @ -59,3 +59,282 @@ Allocated port 56844 for remote forward to localhost:22 | ||||||
|                  using the tunnel the client provides for the server to ssh back into |                  using the tunnel the client provides for the server to ssh back into | ||||||
| 02:07 < BasketCase> telmich: afaik you need to use a tool like ss/netstat/lsof to see what port it has open | 02:07 < BasketCase> telmich: afaik you need to use a tool like ss/netstat/lsof to see what port it has open | ||||||
| 
 | 
 | ||||||
|  | - ssh debug | ||||||
|  | 
 | ||||||
|  | [11:37] bento:~% ssh -R 0:localhost:22 localhost | ||||||
|  | Allocated port 33562 for remote forward to localhost:22 | ||||||
|  | 
 | ||||||
|  |              ..          .       .x+=:.        s | ||||||
|  |            dF           @88>    z`    ^%      :8 | ||||||
|  |           '88bu.        %8P        .   <k    .88 | ||||||
|  |       .   '*88888bu      .       .@8Ned8"   :888ooo | ||||||
|  |  .udR88N    ^"*8888N   .@88u   .@^%8888"  -*8888888 | ||||||
|  | <888'888k  beWE "888L ''888E` x88:  `)8b.   8888 | ||||||
|  | 9888 'Y"   888E  888E   888E  8888N=*8888   8888 | ||||||
|  | 9888       888E  888E   888E   %8"    R88   8888 | ||||||
|  | 9888       888E  888F   888E    @8Wou 9%   .8888Lu= | ||||||
|  | ?8888u../ .888N..888    888&  .888888P`    ^%888* | ||||||
|  |  "8888P'   `"888*""     R888" `   ^"F        'Y" | ||||||
|  |    "P'        ""         "" | ||||||
|  | 
 | ||||||
|  | Welcome to a cdist automated system! | ||||||
|  | 
 | ||||||
|  | Last login: Sat May  4 01:52:46 2013 from localhost.localdomain | ||||||
|  | debug1: PAM: reinitializing credentials | ||||||
|  | debug1: permanently_set_uid: 0/0 | ||||||
|  | Environment: | ||||||
|  |   USER=root | ||||||
|  |   LOGNAME=root | ||||||
|  |   HOME=/root | ||||||
|  |   PATH=/usr/bin:/bin:/usr/sbin:/sbin | ||||||
|  |   MAIL=/var/spool/mail/root | ||||||
|  |   SHELL=/bin/bash | ||||||
|  |   SSH_CLIENT=::1 57848 22 | ||||||
|  |   SSH_CONNECTION=::1 57848 ::1 22 | ||||||
|  |   SSH_TTY=/dev/pts/32 | ||||||
|  |   TERM=rxvt-unicode | ||||||
|  |   XDG_SESSION_ID=1 | ||||||
|  |   XDG_RUNTIME_DIR=/run/user/1000 | ||||||
|  |   XDG_SEAT=seat0 | ||||||
|  |   XDG_VTNR=1 | ||||||
|  |   SSH_AUTH_SOCK=/tmp/ssh-6j0elukLHA/agent.17260 | ||||||
|  | [root@bento ~]#  | ||||||
|  | [root@bento nico]# /usr/sbin/sshd -D -d | ||||||
|  | debug1: sshd version OpenSSH_6.2, OpenSSL 1.0.1e 11 Feb 2013 | ||||||
|  | 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: read PEM private key done: type ECDSA | ||||||
|  | debug1: private host key: #2 type 3 ECDSA | ||||||
|  | debug1: rexec_argv[0]='/usr/sbin/sshd' | ||||||
|  | debug1: rexec_argv[1]='-D' | ||||||
|  | debug1: rexec_argv[2]='-d' | ||||||
|  | Set /proc/self/oom_score_adj from 0 to -1000 | ||||||
|  | debug1: Bind to port 22 on 0.0.0.0. | ||||||
|  | Server listening on 0.0.0.0 port 22. | ||||||
|  | debug1: Bind to port 22 on ::. | ||||||
|  | Server listening on :: port 22. | ||||||
|  | debug1: Server will not fork when running in debugging mode. | ||||||
|  | debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8 | ||||||
|  | debug1: inetd sockets after dupping: 3, 3 | ||||||
|  | Connection from ::1 port 57848 | ||||||
|  | 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-OpenSSH_6.2 | ||||||
|  | debug1: permanently_set_uid: 99/99 [preauth] | ||||||
|  | debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 [preauth] | ||||||
|  | debug1: SSH2_MSG_KEXINIT sent [preauth] | ||||||
|  | debug1: SSH2_MSG_KEXINIT received [preauth] | ||||||
|  | debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com zlib@openssh.com [preauth] | ||||||
|  | debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com zlib@openssh.com [preauth] | ||||||
|  | debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth] | ||||||
|  | debug1: SSH2_MSG_NEWKEYS sent [preauth] | ||||||
|  | debug1: expecting SSH2_MSG_NEWKEYS [preauth] | ||||||
|  | debug1: SSH2_MSG_NEWKEYS received [preauth] | ||||||
|  | debug1: KEX done [preauth] | ||||||
|  | debug1: userauth-request for user root service ssh-connection method none [preauth] | ||||||
|  | debug1: attempt 0 failures 0 [preauth] | ||||||
|  | debug1: PAM: initializing for "root" | ||||||
|  | debug1: PAM: setting PAM_RHOST to "localhost.localdomain" | ||||||
|  | debug1: PAM: setting PAM_TTY to "ssh" | ||||||
|  | debug1: userauth-request for user root service ssh-connection method publickey [preauth] | ||||||
|  | debug1: attempt 1 failures 0 [preauth] | ||||||
|  | debug1: test whether pkalg/pkblob are acceptable [preauth] | ||||||
|  | debug1: temporarily_use_uid: 0/0 (e=0/0) | ||||||
|  | debug1: trying public key file /root/.ssh/authorized_keys | ||||||
|  | debug1: fd 4 clearing O_NONBLOCK | ||||||
|  | debug1: matching key found: file /root/.ssh/authorized_keys, line 2 | ||||||
|  | Found matching RSA key: 2e:1b:3f:10:01:1d:21:6c:6c:1e:3d:a9:33:ba:3c:f7 | ||||||
|  | debug1: restore_uid: 0/0 | ||||||
|  | Postponed publickey for root from ::1 port 57848 ssh2 [preauth] | ||||||
|  | debug1: userauth-request for user root service ssh-connection method publickey [preauth] | ||||||
|  | debug1: attempt 2 failures 0 [preauth] | ||||||
|  | debug1: temporarily_use_uid: 0/0 (e=0/0) | ||||||
|  | debug1: trying public key file /root/.ssh/authorized_keys | ||||||
|  | debug1: fd 4 clearing O_NONBLOCK | ||||||
|  | debug1: matching key found: file /root/.ssh/authorized_keys, line 2 | ||||||
|  | Found matching RSA key: 2e:1b:3f:10:01:1d:21:6c:6c:1e:3d:a9:33:ba:3c:f7 | ||||||
|  | debug1: restore_uid: 0/0 | ||||||
|  | debug1: ssh_rsa_verify: signature correct | ||||||
|  | debug1: do_pam_account: called | ||||||
|  | Accepted publickey for root from ::1 port 57848 ssh2 | ||||||
|  | debug1: monitor_child_preauth: root has been authenticated by privileged process | ||||||
|  | debug1: Enabling compression at level 6. [preauth] | ||||||
|  | debug1: monitor_read_log: child log fd closed | ||||||
|  | debug1: PAM: establishing credentials | ||||||
|  | debug1: Entering interactive session for SSH2. | ||||||
|  | debug1: server_init_dispatch_20 | ||||||
|  | debug1: server_input_global_request: rtype tcpip-forward want_reply 1 | ||||||
|  | debug1: server_input_global_request: tcpip-forward listen localhost port 0 | ||||||
|  | debug1: Local forwarding listening on ::1 port 0. | ||||||
|  | debug1: Allocated listen port 33562 | ||||||
|  | debug1: channel 0: new [port listener] | ||||||
|  | debug1: Local forwarding listening on 127.0.0.1 port 33562. | ||||||
|  | debug1: channel 1: new [port listener] | ||||||
|  | debug1: server_input_channel_open: ctype session rchan 0 win 1048576 max 16384 | ||||||
|  | debug1: input_session_request | ||||||
|  | debug1: channel 2: new [server-session] | ||||||
|  | debug1: session_new: session 0 | ||||||
|  | debug1: session_open: channel 2 | ||||||
|  | debug1: session_open: session 0: link with channel 2 | ||||||
|  | debug1: server_input_channel_open: confirm session | ||||||
|  | debug1: server_input_global_request: rtype no-more-sessions@openssh.com want_reply 0 | ||||||
|  | debug1: server_input_channel_req: channel 2 request auth-agent-req@openssh.com reply 0 | ||||||
|  | debug1: session_by_channel: session 0 channel 2 | ||||||
|  | debug1: session_input_channel_req: session 0 req auth-agent-req@openssh.com | ||||||
|  | debug1: temporarily_use_uid: 0/0 (e=0/0) | ||||||
|  | debug1: restore_uid: 0/0 | ||||||
|  | debug1: channel 3: new [auth socket] | ||||||
|  | debug1: server_input_channel_req: channel 2 request pty-req reply 1 | ||||||
|  | debug1: session_by_channel: session 0 channel 2 | ||||||
|  | debug1: session_input_channel_req: session 0 req pty-req | ||||||
|  | debug1: Allocating pty. | ||||||
|  | debug1: session_pty_req: session 0 alloc /dev/pts/32 | ||||||
|  | debug1: server_input_channel_req: channel 2 request shell reply 1 | ||||||
|  | debug1: session_by_channel: session 0 channel 2 | ||||||
|  | debug1: session_input_channel_req: session 0 req shell | ||||||
|  | debug1: Setting controlling tty using TIOCSCTTY. | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | debug1: server_input_global_request: rtype tcpip-forward want_reply 1 | ||||||
|  | debug1: server_input_global_request: tcpip-forward listen localhost port 0 | ||||||
|  | debug1: Local forwarding listening on ::1 port 0. | ||||||
|  | debug1: Allocated listen port 33562 | ||||||
|  | debug1: channel 0: new [port listener] | ||||||
|  | debug1: Local forwarding listening on 127.0.0.1 port 33562. | ||||||
|  | 
 | ||||||
|  | [11:49] bento:openssh-6.2p1% grep "Allocated listen port" -r . | ||||||
|  | ./channels.c:           debug("Allocated listen port %d", | ||||||
|  | [11:49] bento:openssh-6.2p1%  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | [11:54] bento:~% ssh -R 0:localhost:22 -R 0:192.168.1.1:33 localhost  | ||||||
|  | Allocated port 48392 for remote forward to localhost:22 | ||||||
|  | Allocated port 37515 for remote forward to 192.168.1.1:33 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | debug1: server_input_global_request: rtype tcpip-forward want_reply 1 | ||||||
|  | debug1: server_input_global_request: tcpip-forward listen localhost port 0 | ||||||
|  | debug1: Local forwarding listening on ::1 port 0. | ||||||
|  | debug1: Allocated listen port 48392 | ||||||
|  | debug1: channel 0: new [port listener] | ||||||
|  | debug1: Local forwarding listening on 127.0.0.1 port 48392. | ||||||
|  | debug1: channel 1: new [port listener] | ||||||
|  | debug1: server_input_global_request: rtype tcpip-forward want_reply 1 | ||||||
|  | debug1: server_input_global_request: tcpip-forward listen localhost port 0 | ||||||
|  | debug1: Local forwarding listening on ::1 port 0. | ||||||
|  | debug1: Allocated listen port 37515 | ||||||
|  | debug1: channel 2: new [port listener] | ||||||
|  | debug1: Local forwarding listening on 127.0.0.1 port 37515. | ||||||
|  | debug1: channel 3: new [port listener] | ||||||
|  | debug1: server_input_channel_open: ctype session rchan 0 win 1048576 max 16384 | ||||||
|  | debug1: input_session_request | ||||||
|  | debug1: channel 4: new [server-session] | ||||||
|  | debug1: session_new: session 0 | ||||||
|  | debug1: session_open: channel 4 | ||||||
|  | debug1: session_open: session 0: link with channel 4 | ||||||
|  | 
 | ||||||
|  | debug1: Local forwarding listening on ::1 port 5555. | ||||||
|  | debug1: channel 0: new [port listener] | ||||||
|  | debug1: Local forwarding listening on 127.0.0.1 port 5555. | ||||||
|  | debug1: channel 1: new [port listener] | ||||||
|  | debug1: server_input_global_request: rtype tcpip-forward want_reply 1 | ||||||
|  | debug1: server_input_global_request: tcpip-forward listen localhost port 4444 | ||||||
|  | debug1: Local forwarding listening on ::1 port 4444. | ||||||
|  | debug1: channel 2: new [port listener] | ||||||
|  | debug1: Local forwarding listening on 127.0.0.1 port 4444. | ||||||
|  | debug1: channel 3: new [port listener] | ||||||
|  | debug1: server_input_channel_open: ctype session rchan 0 win 1048576 max 16384 | ||||||
|  | debug1: input_session_request | ||||||
|  | debug1: channel 4: new [server-session] | ||||||
|  | debug1: session_new: session 0 | ||||||
|  | debug1: session_open: channel 4 | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | [12:06] bento:openssh-6.2p1% grep SSH_CONNECTION -r * | ||||||
|  | audit-bsm.c:    case SSH_CONNECTION_CLOSE: | ||||||
|  | audit.c:        {SSH_CONNECTION_CLOSE,      "CONNECTION_CLOSE"}, | ||||||
|  | audit.c:        {SSH_CONNECTION_ABANDON,    "CONNECTION_ABANDON"}, | ||||||
|  | audit.h:    SSH_CONNECTION_CLOSE,   /* closed after attempting auth or session */ | ||||||
|  | audit.h:    SSH_CONNECTION_ABANDON, /* closed without completing auth */ | ||||||
|  | audit-linux.c:  case SSH_CONNECTION_CLOSE: | ||||||
|  | monitor.c:  case SSH_CONNECTION_CLOSE: | ||||||
|  | regress/proxy-connect.sh:   SSH_CONNECTION=`${SSH} -$p -F $OBJ/ssh_proxy 999.999.999.999 'echo $SSH_CONNECTION'` | ||||||
|  | regress/proxy-connect.sh:   if [ "$SSH_CONNECTION" != "UNKNOWN 65535 UNKNOWN 65535" ]; then | ||||||
|  | regress/proxy-connect.sh:       fail "bad SSH_CONNECTION" | ||||||
|  | session.c:  child_set_env(&env, &envsize, "SSH_CONNECTION", buf); | ||||||
|  | sftp-server.c:  if ((cp = getenv("SSH_CONNECTION")) != NULL) { | ||||||
|  | sftp-server.c:          error("Malformed SSH_CONNECTION variable: \"%s\"", | ||||||
|  | sftp-server.c:              getenv("SSH_CONNECTION")); | ||||||
|  | ssh.0:     SSH_CONNECTION        Identifies the client and server ends of the | ||||||
|  | ssh.1:.It Ev SSH_CONNECTION | ||||||
|  | sshd.c: PRIVSEP(audit_event(SSH_CONNECTION_CLOSE)); | ||||||
|  | sshd.c:     audit_event(SSH_CONNECTION_ABANDON); | ||||||
|  | [12:06] bento:openssh-6.2p1%  | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | debug1: Remote connections from LOCALHOST:5555 forwarded to local address localhost:22 | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | [12:42] bento:openssh-6.2p1% grep tcpip-forward * | ||||||
|  | channels.c:     packet_put_cstring("tcpip-forward"); | ||||||
|  | channels.c: packet_put_cstring("cancel-tcpip-forward"); | ||||||
|  | Binary file channels.o matches | ||||||
|  | grep: contrib: Is a directory | ||||||
|  | Binary file libssh.a matches | ||||||
|  | grep: openbsd-compat: Is a directory | ||||||
|  | grep: regress: Is a directory | ||||||
|  | grep: scard: Is a directory | ||||||
|  | serverloop.c:   if (strcmp(rtype, "tcpip-forward") == 0) { | ||||||
|  | serverloop.c:       debug("server_input_global_request: tcpip-forward listen %s port %d", | ||||||
|  | serverloop.c:   } else if (strcmp(rtype, "cancel-tcpip-forward") == 0) { | ||||||
|  | serverloop.c:       debug("%s: cancel-tcpip-forward addr %s port %d", __func__, | ||||||
|  | Binary file serverloop.o matches | ||||||
|  | Binary file ssh matches | ||||||
|  | Binary file sshd matches | ||||||
|  | Binary file ssh-keyscan matches | ||||||
|  | Binary file ssh-keysign matches | ||||||
|  | [12:42] bento:openssh-6.2p1%  | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | Channel information for (remote) forwarding: | ||||||
|  | 
 | ||||||
|  |        c = channel_new("port listener", type, sock, sock, -1, | ||||||
|  |             CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, | ||||||
|  |             0, "port listener", 1); | ||||||
|  |         c->path = xstrdup(host); | ||||||
|  |         c->host_port = port_to_connect; | ||||||
|  |         c->listening_addr = addr == NULL ? NULL : xstrdup(addr); | ||||||
|  |         if (listen_port == 0 && allocated_listen_port != NULL && | ||||||
|  |             !(datafellows & SSH_BUG_DYNAMIC_RPORT)) | ||||||
|  |             c->listening_port = *allocated_listen_port; | ||||||
|  |         else  | ||||||
|  |             c->listening_port = listen_port; | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | Code handling remote forwarding in the client: | ||||||
|  | - ssh_init_forwarding | ||||||
|  |     - channel_request_remote_forwarding | ||||||
|  |         Sends hostname + port for ssh1 only - not send in ssh2 | ||||||
|  | 
 | ||||||
|  | Code handling forwarding / listening in the server: | ||||||
|  | 
 | ||||||
|  | - channel_new: creates channels, 2 per listener (ipv4/ipv6) | ||||||
|  |     - channels_alloc contains number of channels | ||||||
|  | - server_input_global_request | ||||||
|  |     Reads only listen port, not hostname/port to connect to | ||||||
|  |     - channel_setup_remote_fwd_listener | ||||||
|  |         - channel_setup_remote_fwd_listener | ||||||
|  | 
 | ||||||
|  | Code handling environment variables: | ||||||
|  | 
 | ||||||
|  | - child_set_env | ||||||
|  | 1236     child_set_env(&env, &envsize, "SSH_CONNECTION", buf); | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue