title: Unable to SSH to a docker container from docker host
body: <p>I have created a docker host on openstack and launched a container with it's port 22 mapped to a port on docker host. Followed this <a href="https://docs.docker.com/engine/examples/running_ssh_service/" rel="nofollow noreferrer">link</a>
  Still i can't ssh from docker host to container. It gives this error:</p>
  
  <pre><code>$&gt; ssh -v root@172.17.0.9 -p 32775
  
  OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
  debug1: Reading configuration data /etc/ssh/ssh_config
  debug1: /etc/ssh/ssh_config line 56: Applying options for *
  debug1: Connecting to 172.17.0.9 [172.17.0.9] port 32775.
  debug1: connect to address 172.17.0.9 port 32775: Connection refused
  ssh: connect to host 172.17.0.9 port 32775: Connection refused
  </code></pre>
  
  <p>Iptables rule is added by default when i used -P option in docker run. It looks like this:</p>
  
  <pre><code>$&gt; iptables -t nat -L -n
  Chain PREROUTING (policy ACCEPT)
  target     prot opt source               destination
  DOCKER     all  --  0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL
  
  Chain INPUT (policy ACCEPT)
  target     prot opt source               destination
  
  Chain OUTPUT (policy ACCEPT)
  target     prot opt source               destination
  DOCKER     all  --  0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL
  
  Chain POSTROUTING (policy ACCEPT)
  target     prot opt source               destination
  MASQUERADE  all  --  172.17.0.0/16        0.0.0.0/0
  MASQUERADE  tcp  --  172.17.0.3           172.17.0.3           tcp dpt:80
  MASQUERADE  tcp  --  172.17.0.9           172.17.0.9           tcp dpt:22
  
  Chain DOCKER (2 references)
  target     prot opt source               destination
  RETURN     all  --  0.0.0.0/0            0.0.0.0/0
  DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:9090 to:172.17.0.3:80
  DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:32775 to:172.17.0.9:22
  </code></pre>
  
  <p>And container looks like:</p>
  
  <pre><code>$&gt; docker ps -a
  CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                   NAMES
  46111bb52063        sshns               "/usr/sbin/sshd -D"      9 hours ago         Up 3 hours                 0.0.0.0:32776-&gt;22/tcp   TestSSHcontainer
  </code></pre>
  
  <p>I need to have ssh only for my purpose. I'm aware about docker exec option. Tried changes like PermitRootLogin yes on sshd_config and ssh_config on both docker host and container with no success.</p>
  
  <pre><code>bash-4.2# /usr/sbin/sshd -Dd
  WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several problems.
  debug1: sshd version OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
  debug1: key_parse_private2: missing begin marker
  debug1: read PEM private key done: type RSA
  debug1: private host key: #0 type 1 RSA
  debug1: key_parse_private2: missing begin marker
  debug1: read PEM private key done: type ECDSA
  debug1: private host key: #1 type 3 ECDSA
  debug1: private host key: #2 type 4 ED25519
  debug1: rexec_argv[0]='/usr/sbin/sshd'
  debug1: rexec_argv[1]='-Dd'
  Set /proc/self/oom_score_adj from 0 to -1000
  debug1: Bind to port 22 on ::.
  Bind to port 22 on :: failed: Address already in use.
  debug1: Bind to port 22 on 0.0.0.0.
  Bind to port 22 on 0.0.0.0 failed: Address already in use.
  Cannot bind any address.
  
  bash-4.2# netstat -anp | grep 22
  tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
  tcp6       0      0 :::22                   :::*                    LISTEN      -
  bash-4.2# ps -eaf | grep ssh
  root         1     0  0 19:17 ?        00:00:00 /usr/sbin/sshd -D
  root        26    16  0 22:58 ?        00:00:00 grep ssh
  </code></pre>
  
  <p>Is there something that i'm still missing? </p>