Welcome to the Linux Foundation Forum!

ssh to VM fails after creating for lab 1.1

ssh in browser window starts with status:

Connecting...
Establishing connection to SSH server...
You can drastically improve your key transfer times by migrating to OS Login.

but it eventually fails with error:

Connection Failed
We are unable to connect to the VM on port 22. Learn more about possible causes of this issue.

The VM was created as per the course lab instructions.
Why is ssh failing?!

Comments

  • chrispokorni
    chrispokorni Posts: 1,135

    Hi @haral,

    There are a few reasons why the connection to your GCE instance fails from the cloud console - a firewall rule blocking port 22, or sshd not ready. You can explore the google cloud documentation to help you to troubleshoot and possibly resolve the issue.

    Regards,
    -Chris

  • haral
    haral Posts: 14

    [email protected]:~$ netstat -pan | grep 22
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -

  • haral
    haral Posts: 14

    [email protected]:~$ sudo iptables -L
    Chain INPUT (policy ACCEPT)
    target prot opt source destination

    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    DOCKER-USER all -- anywhere anywhere
    DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
    ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
    DOCKER all -- anywhere anywhere
    ACCEPT all -- anywhere anywhere
    ACCEPT all -- anywhere anywhere

    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

  • chrispokorni
    chrispokorni Posts: 1,135

    Hi @haral,

    Can you validate that the ssh daemon is listening on port 22? The output is missing that information. sudo would also help.

    Is your GCE VPC firewall allowing all ingress? If not, is there a firewall rule allowing ingress to port 22?

    Regards,
    -Chris

  • haral
    haral Posts: 14

    [email protected]:~$ netstat -pan | grep 22
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -

  • haral
    haral Posts: 14
    edited September 8

    I gave up on GCP and attempting to run on local Ubuntu VM. In lab 3.2 LXC, the command "lxc-create -t download -n unpriv-cont-user" fails with:
    [email protected]:~$ lxc-create -t download -n unpriv-cont-user
    lxc-create: unpriv-cont-user: conf.c: lxc_map_ids: 2878 newuidmap failed to write mapping "newuidmap: uid range [0-1) -> [231072-231073) not allowed": newuidmap 3149 0 231072 1 1000 1000 1
    lxc-create: unpriv-cont-user: conf.c: userns_exec_mapped_root: 4646 Error setting up {g,u}id mappings for child process "3149"
    lxc-create: unpriv-cont-user: tools/lxc_create.c: main: 319 Failed to create container unpriv-cont-user
    [email protected]:~$

    The contents of the default.conf file are:
    [email protected]:~$ cat ~/.config/lxc/default.conf
    lxc.net.0.type = veth
    lxc.net.0.link = lxcbr0
    lxc.net.0.flags = up
    lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
    lxc.idmap = u 0 231072 65536
    lxc.idmap = g 0 231072 65536

    I saw another help request and tried the suggested command but that also failed:
    [email protected]:~$ sudo lxc-create -t download -n unpriv-cont-user -- -d ubuntu -r xenial -a amd64
    Setting up the GPG keyring
    ERROR: Unable to fetch GPG key from keyserver
    lxc-create: unpriv-cont-user: lxccontainer.c: create_run_template: 1616 Failed to create container from template
    lxc-create: unpriv-cont-user: tools/lxc_create.c: main: 319 Failed to create container unpriv-cont-user
    [email protected]:~$

  • chrispokorni
    chrispokorni Posts: 1,135

    Hi @haral,

    Running sudo netstat, as suggested earlier, may have produced a more detailed output.

    Subsequently, are you populating the ~/.config/lxc/default.conf file with lxc.idmap values extracted from the /etc/subuid and /etc/subgid files?

    On local Ubuntu guest VMs, you may also need to set read-write permissions on the default.conf file, with the following command:

    chmod 664 ~/.config/lxc/default.conf

    Regards,
    -Chris

  • haral
    haral Posts: 14

    sudo netstat may have given some more output but you can see that sshd is running and listening on port 22 just from running netstat as a regular user...

    I am following the commands exactly as shown, however the contents of the /etc/subuid and /etc/subgid files are different - they only have one entry:
    [email protected]:~$ ls -l .config/lxc/default.conf
    -rw-r--r-- 1 haral haral 162 Sep 8 01:00 .config/lxc/default.conf
    [email protected]:~$ chmod 664 !$
    chmod 664 .config/lxc/default.conf
    [email protected]:~$ cat !$
    cat .config/lxc/default.conf
    lxc.net.0.type = veth
    lxc.net.0.link = lxcbr0
    lxc.net.0.flags = up
    lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
    lxc.idmap = u 0 231072 65536
    lxc.idmap = g 0 231072 65536
    [email protected]:~$ cat /etc/subuid
    haral:100000:65536
    [email protected]:~$ cat /etc/subgid
    haral:100000:65536
    udo lxc-create -t download -n unpriv-cont-user -- -d ubuntu -r xenial -a amd64
    [sudo] password for haral:
    Setting up the GPG keyring
    ERROR: Unable to fetch GPG key from keyserver
    lxc-create: unpriv-cont-user: lxccontainer.c: create_run_template: 1616 Failed to create container from template
    lxc-create: unpriv-cont-user: tools/lxc_create.c: main: 319 Failed to create container unpriv-cont-user
    [email protected]:~$

  • haral
    haral Posts: 14

    The uid was incorrect in my previous post. Here is the correct output:
    [email protected]:~$ cat /etc/subuid
    haral:100000:65536
    [email protected]:~$ cat /etc/subgid
    haral:100000:65536
    [email protected]:~$ cat /etc/lxc/lxc-usernet

    USERNAME TYPE BRIDGE COUNT

    haral veth lxcbr0 10
    [email protected]:~$ cat ~/.config/lxc/default.conf
    lxc.net.0.type = veth
    lxc.net.0.link = lxcbr0
    lxc.net.0.flags = up
    lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
    lxc.idmap = u 0 100000 65536
    lxc.idmap = g 0 100000 65536
    [email protected]:~$ id
    uid=1000(haral) gid=1000(haral) groups=1000(haral),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
    [email protected]:~$ sudo lxc-create -t download -n unpriv-cont-user -- -d ubuntu -r xenial -a amd64
    Setting up the GPG keyring
    ERROR: Unable to fetch GPG key from keyserver
    lxc-create: unpriv-cont-user: lxccontainer.c: create_run_template: 1617 Failed to create container from template
    lxc-create: unpriv-cont-user: tools/lxc_create.c: main: 327 Failed to create container unpriv-cont-user
    [email protected]:~$ lxc-create -t download -n unpriv-cont-user
    lxc-create: unpriv-cont-user: tools/lxc_create.c: main: 327 Failed to create container unpriv-cont-user

  • chrispokorni
    chrispokorni Posts: 1,135

    Hi @haral,

    The updated content of the default.conf file is correct now.

    Regards,
    -Chris

  • haral
    haral Posts: 14

    But, it still fails...

  • haral
    haral Posts: 14

    The keyserver command allowed me to continue...

Categories

Upcoming Training