openssh client ignores -o Tunnel=ethernet option, creating an IP tunnel device instead of an ethernet tap device
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
portable OpenSSH |
Unknown
|
Unknown
|
|||
openssh (Ubuntu) |
Confirmed
|
Medium
|
Unassigned |
Bug Description
This is a regression from the version of the client in 14.04 compared to 13.10. I'm connecting to 12.04.4 for a server.
Expected behaviour:
Creating a connection with the option "-o Tunnel=ethernet" will create a layer2 ethernet tap device.
Actual behaviour:
New client creates a layer3 IP tunnel.
Workaround:
The "-o Tunnel=ethernet" option needs to be before the "-w" option. Then, the tap device should be created as expected. With thanks to Chiang Fong Lee.
The old version of the client that works properly (installed manually on 14.04):
OpenSSH_6.2p2 Ubuntu-6ubuntu0.3, OpenSSL 1.0.1f 6 Jan 2014
The new version of the client that does not work properly:
OpenSSH_6.6p1 Ubuntu-2ubuntu1, OpenSSL 1.0.1f 6 Jan 2014
The version of the SSH server I'm connecting to:
openssh-server:
Installed: 1:5.9p1-5ubuntu1.3
Candidate: 1:5.9p1-5ubuntu1.3
Version table:
*** 1:5.9p1-5ubuntu1.3 0
500 http://
500 http://
100 /var/lib/
1:
500 http://
#######
Terminal output with the old version:
ssh -p 38613 <username>@<IP> -w any -o Tunnel=ethernet -vvv
OpenSSH_6.2p2 Ubuntu-6ubuntu0.3, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "<path hidden>" does not exist
debug2: ssh_connect: needpriv 0
debug1: Connecting to <IP> [<IP>] port 38613.
debug1: Connection established.
debug1: permanently_
debug3: Incorrect RSA1 identifier
debug3: Could not load "/root/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /root/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/
debug1: Checking blacklist file /etc/ssh/
debug1: identity file /root/.
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/root/
debug1: identity file /root/.ssh/id_ecdsa type 3
debug1: Checking blacklist file /usr/share/
debug1: Checking blacklist file /etc/ssh/
debug1: identity file /root/.
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.3
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.3 pat OpenSSH_5*
debug2: fd 3 setting O_NONBLOCK
debug3: put_host_port: [<IP>]:38613
debug3: load_hostkeys: loading entries for host "[<IP>]:38613" from file "/root/
debug3: load_hostkeys: found key type ECDSA in file /root/.
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: <email address hidden>,<email address hidden>,<email address hidden>
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: ecdh-sha2-
debug2: kex_parse_kexinit: <email address hidden>,<email address hidden>,<email address hidden>
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: <email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>
debug2: kex_parse_kexinit: <email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>
debug2: kex_parse_kexinit: none,<email address hidden>,zlib
debug2: kex_parse_kexinit: none,<email address hidden>,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: ecdh-sha2-
debug2: kex_parse_kexinit: ssh-rsa,
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: hmac-md5,
debug2: kex_parse_kexinit: hmac-md5,
debug2: kex_parse_kexinit: none,<email address hidden>
debug2: kex_parse_kexinit: none,<email address hidden>
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_
debug1: expecting SSH2_MSG_
debug1: Server host key: ECDSA <hex>
debug3: put_host_port: [<IP>]:38613
debug3: put_host_port: [<IP>]:38613
debug3: load_hostkeys: loading entries for host "[<IP>]:38613" from file "/root/
debug3: load_hostkeys: found key type ECDSA in file /root/.
debug3: load_hostkeys: loaded 1 keys
debug3: load_hostkeys: loading entries for host "[<IP>]:38613" from file "/root/
debug3: load_hostkeys: found key type ECDSA in file /root/.
debug3: load_hostkeys: loaded 1 keys
debug1: Host '[<IP>]:38613' is known and matches the ECDSA host key.
debug1: Found key in /root/.
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_
debug2: key: /root/.ssh/id_rsa (0xhex),
debug2: key: /root/.ssh/id_dsa ((nil)),
debug2: key: /root/.ssh/id_ecdsa (0xhex),
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-
debug3: authmethod_
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa: No such file or directory
debug1: Offering ECDSA public key: /root/.ssh/id_ecdsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ecdsa-sha2-nistp521 blen 172
debug2: input_userauth_
debug3: sign_and_
debug1: read PEM private key done: type ECDSA
debug1: Authentication succeeded (publickey).
Authenticated to <IP> ([<IP>]:38613).
debug1: Requesting tun unit 2147483647 in mode 2
debug1: sys_tun_open: tunnel mode 2 fd 4
debug2: fd 4 setting O_NONBLOCK
debug3: fd 4 is O_NONBLOCK
debug1: channel 0: new [tun]
debug1: setting up multiplex master socket
debug3: muxserver_listen: temporary control path <hidden>
debug2: fd 5 setting O_NONBLOCK
debug3: fd 5 is O_NONBLOCK
debug3: fd 5 is O_NONBLOCK
debug1: channel 1: new [<hidden>]
debug3: muxserver_listen: mux listener channel 1 fd 5
debug1: channel 2: new [client-session]
debug3: ssh_session2_open: channel_new: 2
debug2: channel 2: send open
debug1: Entering interactive session.
debug2: channel 0: open confirm rwindow 2097152 rmax 32768
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x10
debug2: client_
debug2: channel 2: request pty-req confirm 1
debug1: Sending environment.
debug3: Ignored env LANGUAGE
debug3: Ignored env PATH
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug3: Ignored env DISPLAY
debug3: Ignored env XAUTHORITY
debug3: Ignored env TERM
debug3: Ignored env HOME
debug3: Ignored env TZ
debug3: Ignored env HOSTNAME
debug1: Sending env LC_ALL = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug1: Sending env LC_CTYPE = C
debug2: channel 2: request env confirm 0
debug3: Ignored env SHELL
debug3: Ignored env LOGNAME
debug3: Ignored env USER
debug3: Ignored env USERNAME
debug3: Ignored env MAIL
debug3: Ignored env SUDO_COMMAND
debug3: Ignored env SUDO_USER
debug3: Ignored env SUDO_UID
debug3: Ignored env SUDO_GID
debug3: Ignored env SHLVL
debug3: Ignored env PWD
debug3: Ignored env OLDPWD
debug3: Ignored env mapfile
debug3: Ignored env HISTFILE
debug3: Ignored env HISTSIZE
debug3: Ignored env SAVEHIST
debug3: Ignored env PAGER
debug3: Ignored env EDITOR
debug3: Ignored env DEBFULLNAME
debug3: Ignored env DEBEMAIL
debug3: Ignored env _
debug2: channel 2: request shell confirm 1
debug2: callback done
debug2: channel 2: open confirm rwindow 0 rmax 32768
debug2: channel_
debug2: PTY allocation request accepted on channel 2
debug2: channel 2: rcvd adjust 2097152
debug2: channel_
debug2: shell request accepted on channel 2
Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-60-generic x86_64)
* Documentation: https:/
0 packages can be updated.
0 updates are security updates.
*** System restart required ***
Last login: Sun May 4 22:08:47 2014 from 216.7.125.200
<username>
<other interfaces removed for brevity>
tap0 Link encap:Ethernet HWaddr 3a:8b:12:39:49:11
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@andersen-
#######
New client:
ssh -p 38613 <username>@<IP> -w any -o Tunnel=ethernet -vvv
OpenSSH_6.6, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "<path hidden>" does not exist
debug2: ssh_connect: needpriv 0
debug1: Connecting to <IP> [<IP>] port 38613.
debug1: Connection established.
debug1: permanently_
debug3: Incorrect RSA1 identifier
debug3: Could not load "/root/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/root/
debug1: identity file /root/.ssh/id_ecdsa type 3
debug1: identity file /root/.
debug1: identity file /root/.
debug1: identity file /root/.
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.3
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.3 pat OpenSSH_5* compat 0x0c000000
debug2: fd 3 setting O_NONBLOCK
debug3: put_host_port: [<IP>]:38613
debug3: load_hostkeys: loading entries for host "[<IP>]:38613" from file "/root/
debug3: load_hostkeys: found key type ECDSA in file /root/.
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: <email address hidden>,<email address hidden>,<email address hidden>
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: <email address hidden>
debug2: kex_parse_kexinit: <email address hidden>,<email address hidden>,<email address hidden>
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: <email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>
debug2: kex_parse_kexinit: <email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>,<email address hidden>
debug2: kex_parse_kexinit: none,<email address hidden>,zlib
debug2: kex_parse_kexinit: none,<email address hidden>,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: ecdh-sha2-
debug2: kex_parse_kexinit: ssh-rsa,
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: aes128-
debug2: kex_parse_kexinit: hmac-md5,
debug2: kex_parse_kexinit: hmac-md5,
debug2: kex_parse_kexinit: none,<email address hidden>
debug2: kex_parse_kexinit: none,<email address hidden>
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: setup hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: setup hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_
debug1: expecting SSH2_MSG_
debug1: Server host key: ECDSA <hex>
debug3: put_host_port: [<IP>]:38613
debug3: put_host_port: [<IP>]:38613
debug3: load_hostkeys: loading entries for host "[<IP>]:38613" from file "/root/
debug3: load_hostkeys: found key type ECDSA in file /root/.
debug3: load_hostkeys: loaded 1 keys
debug3: load_hostkeys: loading entries for host "[<IP>]:38613" from file "/root/
debug3: load_hostkeys: found key type ECDSA in file /root/.
debug3: load_hostkeys: loaded 1 keys
debug1: Host '[<IP>]:38613' is known and matches the ECDSA host key.
debug1: Found key in /root/.
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_
debug2: key: /root/.ssh/id_rsa (0xhex),
debug2: key: /root/.ssh/id_dsa ((nil)),
debug2: key: /root/.ssh/id_ecdsa (0xhex),
debug2: key: /root/.
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-
debug3: authmethod_
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa: No such file or directory
debug1: Offering ECDSA public key: /root/.ssh/id_ecdsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ecdsa-sha2-nistp521 blen 172
debug2: input_userauth_
debug3: sign_and_
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type ECDSA
debug1: Authentication succeeded (publickey).
Authenticated to <IP> ([<IP>]:38613).
debug1: Requesting tun unit 2147483647 in mode 1 <------
debug1: sys_tun_open: tunnel mode 1 fd 4
debug2: fd 4 setting O_NONBLOCK
debug3: fd 4 is O_NONBLOCK
debug1: channel 0: new [tun]
debug1: setting up multiplex master socket
debug3: muxserver_listen: temporary control path <path hidden>
debug2: fd 5 setting O_NONBLOCK
debug3: fd 5 is O_NONBLOCK
debug3: fd 5 is O_NONBLOCK
debug1: channel 1: new [<hidden>]
debug3: muxserver_listen: mux listener channel 1 fd 5
debug1: channel 2: new [client-session]
debug3: ssh_session2_open: channel_new: 2
debug2: channel 2: send open
debug1: Entering interactive session.
debug2: channel 0: open confirm rwindow 2097152 rmax 32768
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x10
debug2: client_
debug2: channel 2: request pty-req confirm 1
debug1: Sending environment.
debug3: Ignored env LANGUAGE
debug3: Ignored env PATH
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug3: Ignored env DISPLAY
debug3: Ignored env XAUTHORITY
debug3: Ignored env TERM
debug3: Ignored env HOME
debug3: Ignored env TZ
debug3: Ignored env HOSTNAME
debug1: Sending env LC_ALL = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug1: Sending env LC_CTYPE = C
debug2: channel 2: request env confirm 0
debug3: Ignored env SHELL
debug3: Ignored env LOGNAME
debug3: Ignored env USER
debug3: Ignored env USERNAME
debug3: Ignored env MAIL
debug3: Ignored env SUDO_COMMAND
debug3: Ignored env SUDO_USER
debug3: Ignored env SUDO_UID
debug3: Ignored env SUDO_GID
debug3: Ignored env SHLVL
debug3: Ignored env PWD
debug3: Ignored env OLDPWD
debug3: Ignored env mapfile
debug3: Ignored env HISTFILE
debug3: Ignored env HISTSIZE
debug3: Ignored env SAVEHIST
debug3: Ignored env PAGER
debug3: Ignored env EDITOR
debug3: Ignored env DEBFULLNAME
debug3: Ignored env DEBEMAIL
debug3: Ignored env _
debug2: channel 2: request shell confirm 1
debug2: callback done
debug2: channel 2: open confirm rwindow 0 rmax 32768
debug2: channel_
debug2: PTY allocation request accepted on channel 2
debug2: channel 2: rcvd adjust 2097152
debug2: channel_
debug2: shell request accepted on channel 2
Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-60-generic x86_64)
* Documentation: https:/
0 packages can be updated.
0 updates are security updates.
*** System restart required ***
Last login: Sun May 4 22:11:12 2014 from 216.7.125.200
<username>
<other interfaces removed for brevity>
tun0 Link encap:UNSPEC HWaddr 00-00-00-
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@andersen-
I'd do a bisect search if I had a way to build the results of each test into a package that I can cleanly remove from my system (so I can go back to a working version so I can get things done :)
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: openssh-client 1:6.6p1-2ubuntu1
ProcVersionSign
Uname: Linux 3.13.0-24-generic x86_64
NonfreeKernelMo
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
Date: Sun May 4 22:21:00 2014
RelatedPackageV
ssh-askpass N/A
libpam-ssh N/A
keychain N/A
ssh-askpass-gnome 1:6.6p1-2ubuntu1
SSHClientVersion: OpenSSH_6.6p1 Ubuntu-2ubuntu1, OpenSSL 1.0.1f 6 Jan 2014
SourcePackage: openssh
UpgradeStatus: Upgraded to trusty on 2014-04-19 (16 days ago)
modified.
mtime.conffile.
tags: | added: regression-release |
Changed in openssh (Ubuntu): | |
importance: | Undecided → Medium |
description: | updated |
Status changed to 'Confirmed' because the bug affects multiple users.