Cockpit does not work for me on focal; it worked fine on bionic.
According to "apt install cockpit", version 215-1 is installed, and it presents the login screen on https port 9090, but it says wrong user name or password when I try to login. Using "tail -f /var/log/syslog" shows that the username and password are correct; cockpit-session invokes pam_ssh_add which loads my private keys.
Using "apt install cockpit/focal-backports" (version 218-1~ubuntu20.04.1) does not change things.
Edit 9-Jul-2020: version 223-1~ubuntu20.04.1 also fails.
May 16 22:14:04 joe-laptop cockpit-tls[3419]: cockpit-tls: gnutls_handshake failed: A TLS fatal alert has been received.
May 16 22:14:04 joe-laptop systemd[1]: Started Cockpit Web Service https instance factory (PID 3419/UID 124).
May 16 22:14:04 joe-laptop systemd[1]: Starting Socket for Cockpit Web Service https instance e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.
May 16 22:14:04 joe-laptop systemd[1]: Listening on Socket for Cockpit Web Service https instance e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.
May 16 22:14:04 joe-laptop systemd[1]: [email protected]: Succeeded.
May 16 22:14:04 joe-laptop systemd[1]: Started Cockpit Web Service https instance e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.
May 16 22:14:04 joe-laptop cockpit-ws[3574]: cockpit-ws: Failed to open certificate file /run/cockpit/tls/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855: No such file or directory
May 16 22:14:04 joe-laptop cockpit-session: pam_ssh_add: Identity added: /home/jms/.ssh/id_rsa (/home/jms/.ssh/id_rsa)
May 16 22:14:04 joe-laptop cockpit-session: pam_ssh_add: Identity added: /home/jms/.ssh/id_ecdsa (/home/jms/.ssh/id_ecdsa)
May 16 22:14:04 joe-laptop cockpit-session: pam_ssh_add: Identity added: /home/jms/.ssh/id_ed25519 (Joe@Joe-PC)
May 16 22:14:04 joe-laptop cockpit-ws[3586]: 3: Permission denied.
May 16 22:15:35 joe-laptop systemd[1]: cockpit-wsinstance-https@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.service: Succeeded.
May 16 22:15:35 joe-laptop systemd[1]: cockpit-wsinstance-https@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.socket: Succeeded.
May 16 22:15:35 joe-laptop systemd[1]: Closed Socket for Cockpit Web Service https instance e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.
May 16 22:15:35 joe-laptop systemd[1]: cockpit-wsinstance-https@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.service: Succeeded.
May 16 22:15:35 joe-laptop systemd[1]: cockpit-wsinstance-https@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.socket: Succeeded.
May 16 22:15:35 joe-laptop systemd[1]: Closed Socket for Cockpit Web Service https instance e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.
The directory /run/cockpit/tls is empty; no certificate.
Edit 28-Jul-2020: Searching the issues on github for Ubuntu brings up this tidbit:
"Login fails if user login shell is tcsh instead of bash #14060"
tcsh -c "exec cockpit-bridge >&3"
ws: Fix login with (t)csh (1-Jul-2020)
If your favorite login shell is tcsh (or csh), the workaround is to create a new user that uses bash for its login shell and belongs to group sudo.