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: 2,340

    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

    haral@cloudshell:~$ 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

    haral@cloudshell:~$ 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: 2,340

    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

    haral@cloudshell:~$ 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 2021

    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:
    aral@ubuntu:~$ 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
    haral@ubuntu:~$

    The contents of the default.conf file are:
    aral@ubuntu:~$ 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:
    haral@ubuntu:~$ 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
    haral@ubuntu:~$

  • 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:
    haral@ubuntu:~$ ls -l .config/lxc/default.conf
    -rw-r--r-- 1 haral haral 162 Sep 8 01:00 .config/lxc/default.conf
    haral@ubuntu:~$ chmod 664 !$
    chmod 664 .config/lxc/default.conf
    haral@ubuntu:~$ 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
    haral@ubuntu:~$ cat /etc/subuid
    haral:100000:65536
    haral@ubuntu:~$ 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
    haral@ubuntu:~$

  • haral
    haral Posts: 14

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

    USERNAME TYPE BRIDGE COUNT

    haral veth lxcbr0 10
    haral@ubuntu:~$ 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
    haral@ubuntu:~$ id
    uid=1000(haral) gid=1000(haral) groups=1000(haral),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
    haral@ubuntu:~$ 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
    haral@ubuntu:~$ 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

  • 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