|
|
|
@ -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 |
|
|
|
|
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); |
|
|
|
|
|
|
|
|
|