There is schema of my home network:
Android is a samsung note phone with android, and i switch on "usb modem"
Pc is debian box, with dhcp on usb0 card.
Notebook is debian box with wifi.
I have not any network problem on notebook and android, http, https, ssh all works fine.
I have problem on pc with ssh. Http and https works but not ssh.
$iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
I have not any filtering. Routing is very simple:
# ip ro default via 192.168.42.129 dev usb0 192.168.42.0/24 dev usb0 proto kernel scope link src 192.168.42.32
No any reason why ssh doesnt work.
Console output looks like:
> ssh -v gw3 OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012 debug1: Reading configuration data /home/iv/.ssh/config debug1: /home/iv/.ssh/config line 34: Applying options for gw3 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to 22.214.171.124 [126.96.36.199] port 22. debug1: Connection established. debug1: identity file /home/iv/.ssh/id_rsa type 1 debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048 debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048 debug1: identity file /home/iv/.ssh/id_rsa-cert type -1 debug1: identity file /home/iv/.ssh/id_dsa type 2 debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-2048 debug1: Checking blacklist file /etc/ssh/blacklist.DSA-2048 debug1: identity file /home/iv/.ssh/id_dsa-cert type -1 debug1: identity file /home/iv/.ssh/id_ecdsa type -1 debug1: identity file /home/iv/.ssh/id_ecdsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.4p1 FreeBSD-20100308 debug1: match: OpenSSH_5.4p1 FreeBSD-20100308 pat OpenSSH_5* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Server host key: RSA 78:d1:55:f3:8b:42:86:8c:8d:9a:9a:aa:3d:b6:6d:74 debug1: Host '188.8.131.52' is known and matches the RSA host key. debug1: Found key in /home/iv/.ssh/known_hosts:146 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,keyboard-interactive debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/iv/.ssh/id_rsa debug1: Authentications that can continue: publickey,keyboard-interactive debug1: Offering DSA public key: /home/iv/.ssh/id_dsa debug1: Server accepts key: pkalg ssh-dss blen 817 debug1: read PEM private key done: type DSA debug1: Authentication succeeded (publickey). Authenticated to 184.108.40.206 ([220.127.116.11]:22). debug1: channel 0: new [client-session] debug1: Requesting email@example.com debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LANG = ru_RU.UTF-8 debug1: Sending env LC_CTYPE = ru_RU.UTF-8 Write failed: Broken pipe
Here is netwrok dump opened by wireshark.
Tons of tcp retransmission and tcp dup ack, looks like wifi problem. But its not true. Signal level > 90%. And connectbot from android works perfect.
I tryed change port 22 to other on server side, and it doesnt help.
I tryed connect from my pc to notebook with ssh and its works.
I suppose that something in android do filtration, is it right?
And how to fix that?