Other tasks: 1, 2, 3, 4, 5, 6, 7.

General notes

Use your GitLab repository to submit your solutions. Please, use exact filenames as specified in the task name.

Please, respect language requirements of individual tasks. For Python, we expect Python 3 as the default (if you really need to use Python 2, use a proper shebang). For shell scripts, we expect that you will use Bash although none of the tasks requires any use of Bashisms for an efficient solution.

Deadline for this set of tasks is 2020-05-03 AoE, it is required to get at least 7 points from this group.

Tasks description

File on remote machine (1 point)

Create file ~/REMOTE.txt on machine unixadmin.ms.mff.cuni.cz with your login as the only content.

Do not submit any file to the GitLab repository, this task will be checked only on the remote machine.

SSH and public keys (2 points)

Add the following public key to authorized keys on your account at unixadmin.ms.mff.cuni.cz. We will check that you have completed this task by SSHing to unixadmin.ms.mff.cuni.cz with your login and this key.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDGDPzzK573YuVSVCbUb/fxhHE2SNyJL8h1ctsWge7G5ykOZOUGk75bPrLWCaVU5MypaUYJh8sRtts62ZX6egBpQnAbKn+SGC69VHA7Oeeo8hLQmrl7GtWn+IvQKGXT+/t8pIcTXK2PtnJYCg2gytTV5Q0sLq3Pk64xGqg+K0X/vkdg/Hd5B+lY/bWB5OEIkoJDpDE9dgFZniocdiD9Pg6EHBP9WzyKCbl13YxkCLKVA0RwKHb3YUaIC16yQxqMx3TC8pOIqwQnik6lRY/g5AJa0fXfidYPbKKBxtids2iOI0otIvdPdJ0wydN+Jr8KFuS/6ll8JuzVdLH+l1muZOLite55rP+MIdJE4JEDgthIhUK85bhaUOnrNs2sdRddwoFmiYUxCIYSe/fZfhECNITk4UL961Sq84cJ3lH7RGqUePV1AaV9USxmJfx/Etl8uBVQOvib2G39AbxuMjzQyGwcwGLm7WplR12aqP9ExdPUTWAeh3A7sM91ePxzXmBnwlJ5mZg0SjgQMe3kFn+c/izcFQXfEg/cWtIlp9BkDLgd3k4d0pQ3KNK3+zMRKoMni6FV3Eqbeh7BmCz89pqPoa56/gZPD2MFGpaZIZ0uYZk00gCCt86Vb+jcPDWmQQxystuqEqUQhu2k20Au/k8eeG8jiN5dU1DpkKDxd4iE1yCw8iqBMgMTGhP1lvskyOktEaFTab9IfK12Rh3TyoObg1x+KIeNqFFVpvB/8NWSE2uSckE7cnSZkADWEBuItOXhGIQ10jUeSDgeeowOBApk5h6M3h3fqD1T0BjfdxDP2UK06EQtoqgRdh0qeXj5amaITg3PANy+DQ5WYqhsq9GJBUy1hRVGiaCw10yn3aALV9jG5aQmgxKmWcUHv0MHw6kxbMPxXbD+gkw2lLaayrjjjXcE96cZhbF4+8k2BMCO5KYbAgQ5U9NwW9JfOQPr83lYGdInX8LIRbiElUoa3jkHyeLDGtiGCAqlzGgqLEiqLZsa4nvWf0Y3+XeLDRl7hHSwJpK1iqc+TZbjMRLCqIM1lIdgADT2xWJNV2/FQ1oj0nEmUuMbsLisCkxs+dZHVrsv5BpMhLU4SJZ2WWi2iBF4+05kxguOiWnNT2nGeelfRTDGX6+4MH2Uk/KbOvRjw7tpfUxdBwRNaJfP1RfjC3mvDJYvd0P/Da2lNoh+DCfBVe2XNAhrGGI765/X0jnCOJ4r2HOnzyZUlNOjFxPLGBNN30TeCQ7snGYCtoz63tMdz0KKiCswiFSi9cL9mlpY8dK6rEn9bPhhporpUqBMisVtQn/qijVaDdxqin6y+nxH9eN12l7K1Gb3OWp0t7pzRpAXtKjhWzXCOWLo0Vh70RVKtqch teachers@nswi177

Do not submit any file to the GitLab repository, this task will be checked only on the remote machine.

SSH configuration (2 points)

Edit your SSH configuration on unixadmin.ms.mff.cuni.cz to contain following shortcuts.

Logging to u-pl5.ms.mff.cuni.cz just by typing ssh lab5.

Checking connectivity to GitLab just by typing ssh mffgl (i.e. it should translate to ssh git@gitlab.mff.cuni.cz).

Do not submit any file to the GitLab repository, this task will be checked only on the remote machine.

Update: we have updated number of points to distinguish the two subtasks.

SSH forced command (4 points)

Prepare SSH forced command for the following public key:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDCjtObiu43iH9uy1QXH9W2ZLaT6MOeRyBYYZnaflsQGT0X5dvtXPMKS9CWMXYkCwqtS6CWYNzG0QiU6lFZ8ZWK7FOBb8Te9GhOsqzcYgC5HCBeDMmzcgp+u4IExciSCplQBeB6oFVZv5sH9yZjkle9ElwSmhBrlYv40KF/sdkiYVEAAWUmcNOQwAcU7jurPT1eK7IQt8O0s93qbA4R98ryoGyZ4WUZnMx+Qb2/I4hvNPskPkr4lWKuIP39HErN4qrDqvaVLq1ofPeTV15KOFVNaXsqcUd9JMjNZSbQ3Wpa3G7vHpH+iWd377e8sCC0YHwv6sc2/bTvWIXpCG657eVrOoMVgFqGlJ1Bs705MlCURzrH8gY/CjcLrtbysQKfAryGDXYFB++Nam8JbQBOFkomE5y/UVKv70SSgl3NQoEI4jEEfD933rluCJ3RGt6VSsFoVawD12NfpR7wBPFCpZtPJkVza0r1pQcInHAbSmTbHWFEWtO6JY5z+DhUnzRrrebzG6bQqv8KvquqidGqE1RKqhko18nIBAfGz8ZfN1vTHYYSbAQ+NRTASGJLIlulb1OefW10qv09qRrq1pOQJLfoGrmJgkDE9L90bhS9cz311GXY89ZniEQIUYLmVsQl2DnbJKhe2oZbMIolWUEZXD7M5ytpT9otTHtz7OnSZo/6WEu7q/flNo9v6r0wUR7FjwSNFMzERMAaTvja8Ibixy49kXnkajpM7j1/SWIcLRrqG9UMRBQtWql4IHMM3Yfbjvxj8/H/A91ViKHsvZqbSa1QG4Ow90+Kl1nHgFpjJA6x+rTuAI2Kuyz1KuXguUVYom+BRRIW4U8P69oA/No1LKf62dDWIyDn/zaAt3JvfrGEJgQkcmSijYhOrKFB1oVCZYhRw4K0A/9p4t9BjRyESCcs/F5U7P/Wugi6f7YNj2kFyplJ2IrVnWqSgXNmgtdXkbb7kCPDxg43Bw3KWMzGggovKYoB7UNdzCoiNNviSERkF5qdW1QvYXtnBtXIi8g7Y4UfKte5UIg0ZkR4oWjaoLW3zuvBBjYr3IS6qngTQlJVxqEfd6rOgG1NdVuRwLSvNZ26583W/HeEwLzqPpglMrXCM0BxJtLLAMJ46rKtxuv1uZfFbnC0QImofAWMOjEgo9yLXHRMpw2UGNKoZriAv7Cw09WVfP8TSlEVXkGX1ry1e/u6VvGBYorIYxdthY7mn56ceBeOXCCZIjn1n2uRfVuD7AzKcIasQdK9Sup3X6+5kWDwtVaXKgz2zCLSJ/RsGL5kdX+Xt9AZ+13j0CIENPIhpDh7OjW9ic5QC4Hg+IAOtzpqKfxh3lcnMeN0+zgk5MdWYn9jkeG4nrCS0nW4ouS1 teachers@nswi177

Your script must support following commands (without any command, it behaves as with help).

date   Print current date in `YYYY-MM-DD` format.
email  E-mail of the remote user (the one from SIS).
help   Print exactly this help.
load   Print current load.
test   Prints "Hello from NSWI177" (without the quotes).

We will test the email command in the following way. For each student, we will execute the following command (with the private key belonging to the public one mentioned above).

ssh STUDENT-LOGIN@unixadmin.ms.mff.cuni.cz email

And check that the output is actually that student’s e-mail from SIS. We will test similarly the other commands.

Note that for load command, we expect to see one number only (i.e. only the first from load average from uptime command).

Do not submit any file to the GitLab repository, this task will be checked only on the remote machine.

Hint 1: look at /proc/loadavg.

Hint 2: for testing, we highly recommend creating a second pair of public-private key to prevent locking yourself out of the machine (together with -i option for ssh). If you actually run into situation that you are unable to login to unixadmin.ms.mff.cuni.cz, contact us ASAP.

Hint 3: for testing, ssh localhost CMD is actually pretty cool.

Hint 4: running SSH with -o PreferredAuthentications=password skips public/private key authentication and should allow you to log-in when you misconfigured your authorized_keys file.

SSH port forward (3 points)

There is a webserver running on unixadmin.ms.mff.cuni.cz on port 8080. However, this webserver is not accessible from the outside as it listens on loopback interface only.

However, SSH can tunnel traffic for such service to your own computer easily (it is also called SSH port forwarding).

Tunnel the service of this webserver to your computer and prove to us that you did so by uploading browser screenshot to your GitLab repository (to 03/port_forward.png) as well as uploading the text output from the textarea (to 03/port_forward.txt).

Reverse port forward (4 points)

Create a reverse tunnel to your machine with Linux (no matter whether you have dualboot or virtualized setup). I.e. create an SSH connection which opens port 22000 + X at unixadmin.ms.mff.cuni.cz machine where X = your UID at unixadmin.ms.mff.cuni.cz (e.g. if your UID on unixadmin.ms.mff.cuni.cz is 1000, then the port is 22000 + 1000 = 23000).

When someone connects to this port on unixadmin.ms.mff.cuni.cz it will actually connect him to your Linux machine. It means, that ssh -p 23000 USER@localhost when already logged to unixadmin.ms.mff.cuni.cz will actually connect to your Linux machine. Please, double-check your port number as not to steal it from someone else.

Note that this works as long as your SSH session is active so do not worry that you would have open SSH on your computer to your colleagues for a long time.

Also note that you have to check the connection from inside unixadmin.ms.mff.cuni.cz, i.e. your computer will not be accessible directly from the outside.

If you do not have SSH daemon running on your machine (just try it locally via ssh localhost), this article about installing and starting OpenSSH server might be helpful. Note that it is not necessary to enable the service if you want to have it running for this task only (i.e. only run systemctl start sshd and after you complete the task, shut down the daemon with systemctl stop sshd).

To check that your solution works, run nswi177-reverse-port on unixadmin.ms.mff.cuni.cz. With test parameter, it tests the connection, with submit it submits your solution.

Our test program only verifies that there is SSH server on the other side (using ssh-keyscan). So, we will not try to login to your machine in any way, there is no need to set-up our SSH keys or create some special user.

Double check that test works for you (check port numbers again) before you submit as you will have only one try for submit parameter.

Ostatní úlohy: 1, 2, 3, 4, 5, 6, 7.

Obecné požadavky

Úkoly odevzdávejte do Vašeho GitLabového repozitáře. Prosím, dodržujte přesné pojmenování souborů jak je uvedeno u názvu úkolu.

Prosím, dodržujte požadovaný jazyk jednotlivých úloh. Pro úlohy v Pythonu očekáváme použití Pythonu verze 3 (pokud doopravdy potřebujete verzi 2, nezapomeňte na správný shebang). Pro shellové skripty, očekáváme, že budete používat Bash. Nicméně, žádný z úkolů nevyžaduje použití Bashismu pro efektivní řešení.

Deadline pro tuto sadu úloh je 2020-05-03 KnZ, pro úspěšné splnění potřebujete získat alespoň 7 bodů.

Úlohy

Soubor na vzdáleném stroji (1 bod)

Vytvořte soubor ~/REMOTE.txt na stroji unixadmin.ms.mff.cuni.cz. Jeho obsahem bude vaše přihlašovací jméno.

Nenahrávejte pro tuto úlohu žádný soubor do GitLabu, tato úloha bude kontrolována pouze na vzdáleném stroji.

SSH a veřejné klíče (2 body)

Přidejte následující veřejný klíč do souboru s autorizovanými klíči na stroji unixadmin.ms.mff.cuni.cz. My jej pak využijeme k tomu, abychom se na stroj unixadmin.ms.mff.cuni.cz přihlásili vaším přihlašovacím jménem a tímto klíčem.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDGDPzzK573YuVSVCbUb/fxhHE2SNyJL8h1ctsWge7G5ykOZOUGk75bPrLWCaVU5MypaUYJh8sRtts62ZX6egBpQnAbKn+SGC69VHA7Oeeo8hLQmrl7GtWn+IvQKGXT+/t8pIcTXK2PtnJYCg2gytTV5Q0sLq3Pk64xGqg+K0X/vkdg/Hd5B+lY/bWB5OEIkoJDpDE9dgFZniocdiD9Pg6EHBP9WzyKCbl13YxkCLKVA0RwKHb3YUaIC16yQxqMx3TC8pOIqwQnik6lRY/g5AJa0fXfidYPbKKBxtids2iOI0otIvdPdJ0wydN+Jr8KFuS/6ll8JuzVdLH+l1muZOLite55rP+MIdJE4JEDgthIhUK85bhaUOnrNs2sdRddwoFmiYUxCIYSe/fZfhECNITk4UL961Sq84cJ3lH7RGqUePV1AaV9USxmJfx/Etl8uBVQOvib2G39AbxuMjzQyGwcwGLm7WplR12aqP9ExdPUTWAeh3A7sM91ePxzXmBnwlJ5mZg0SjgQMe3kFn+c/izcFQXfEg/cWtIlp9BkDLgd3k4d0pQ3KNK3+zMRKoMni6FV3Eqbeh7BmCz89pqPoa56/gZPD2MFGpaZIZ0uYZk00gCCt86Vb+jcPDWmQQxystuqEqUQhu2k20Au/k8eeG8jiN5dU1DpkKDxd4iE1yCw8iqBMgMTGhP1lvskyOktEaFTab9IfK12Rh3TyoObg1x+KIeNqFFVpvB/8NWSE2uSckE7cnSZkADWEBuItOXhGIQ10jUeSDgeeowOBApk5h6M3h3fqD1T0BjfdxDP2UK06EQtoqgRdh0qeXj5amaITg3PANy+DQ5WYqhsq9GJBUy1hRVGiaCw10yn3aALV9jG5aQmgxKmWcUHv0MHw6kxbMPxXbD+gkw2lLaayrjjjXcE96cZhbF4+8k2BMCO5KYbAgQ5U9NwW9JfOQPr83lYGdInX8LIRbiElUoa3jkHyeLDGtiGCAqlzGgqLEiqLZsa4nvWf0Y3+XeLDRl7hHSwJpK1iqc+TZbjMRLCqIM1lIdgADT2xWJNV2/FQ1oj0nEmUuMbsLisCkxs+dZHVrsv5BpMhLU4SJZ2WWi2iBF4+05kxguOiWnNT2nGeelfRTDGX6+4MH2Uk/KbOvRjw7tpfUxdBwRNaJfP1RfjC3mvDJYvd0P/Da2lNoh+DCfBVe2XNAhrGGI765/X0jnCOJ4r2HOnzyZUlNOjFxPLGBNN30TeCQ7snGYCtoz63tMdz0KKiCswiFSi9cL9mlpY8dK6rEn9bPhhporpUqBMisVtQn/qijVaDdxqin6y+nxH9eN12l7K1Gb3OWp0t7pzRpAXtKjhWzXCOWLo0Vh70RVKtqch teachers@nswi177

Nenahrávejte pro tuto úlohu žádný soubor do GitLabu, tato úloha bude kontrolována pouze na vzdáleném stroji.

SSH konfigurace (2 body)

Upravte vaší SSH konfiguraci na unixadmin.ms.mff.cuni.cz tak, aby uměla následující zkratky.

Přihlášení na u-pl5.ms.mff.cuni.cz pomocí ssh lab5.

Kontrola připojení na GitLab pomocí ssh mffgl (tj. mělo by fungovat stejně jako ssh git@gitlab.mff.cuni.cz).

Nenahrávejte pro tuto úlohu žádný soubor do GitLabu, tato úloha bude kontrolována pouze na vzdáleném stroji.

Aktualizace: zvýšili jsme množství bodů abychom rozlišili obě podúlohy.

SSH forced command (4 body)

Připravte tzv. SSH forced command pro následující klíč:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDCjtObiu43iH9uy1QXH9W2ZLaT6MOeRyBYYZnaflsQGT0X5dvtXPMKS9CWMXYkCwqtS6CWYNzG0QiU6lFZ8ZWK7FOBb8Te9GhOsqzcYgC5HCBeDMmzcgp+u4IExciSCplQBeB6oFVZv5sH9yZjkle9ElwSmhBrlYv40KF/sdkiYVEAAWUmcNOQwAcU7jurPT1eK7IQt8O0s93qbA4R98ryoGyZ4WUZnMx+Qb2/I4hvNPskPkr4lWKuIP39HErN4qrDqvaVLq1ofPeTV15KOFVNaXsqcUd9JMjNZSbQ3Wpa3G7vHpH+iWd377e8sCC0YHwv6sc2/bTvWIXpCG657eVrOoMVgFqGlJ1Bs705MlCURzrH8gY/CjcLrtbysQKfAryGDXYFB++Nam8JbQBOFkomE5y/UVKv70SSgl3NQoEI4jEEfD933rluCJ3RGt6VSsFoVawD12NfpR7wBPFCpZtPJkVza0r1pQcInHAbSmTbHWFEWtO6JY5z+DhUnzRrrebzG6bQqv8KvquqidGqE1RKqhko18nIBAfGz8ZfN1vTHYYSbAQ+NRTASGJLIlulb1OefW10qv09qRrq1pOQJLfoGrmJgkDE9L90bhS9cz311GXY89ZniEQIUYLmVsQl2DnbJKhe2oZbMIolWUEZXD7M5ytpT9otTHtz7OnSZo/6WEu7q/flNo9v6r0wUR7FjwSNFMzERMAaTvja8Ibixy49kXnkajpM7j1/SWIcLRrqG9UMRBQtWql4IHMM3Yfbjvxj8/H/A91ViKHsvZqbSa1QG4Ow90+Kl1nHgFpjJA6x+rTuAI2Kuyz1KuXguUVYom+BRRIW4U8P69oA/No1LKf62dDWIyDn/zaAt3JvfrGEJgQkcmSijYhOrKFB1oVCZYhRw4K0A/9p4t9BjRyESCcs/F5U7P/Wugi6f7YNj2kFyplJ2IrVnWqSgXNmgtdXkbb7kCPDxg43Bw3KWMzGggovKYoB7UNdzCoiNNviSERkF5qdW1QvYXtnBtXIi8g7Y4UfKte5UIg0ZkR4oWjaoLW3zuvBBjYr3IS6qngTQlJVxqEfd6rOgG1NdVuRwLSvNZ26583W/HeEwLzqPpglMrXCM0BxJtLLAMJ46rKtxuv1uZfFbnC0QImofAWMOjEgo9yLXHRMpw2UGNKoZriAv7Cw09WVfP8TSlEVXkGX1ry1e/u6VvGBYorIYxdthY7mn56ceBeOXCCZIjn1n2uRfVuD7AzKcIasQdK9Sup3X6+5kWDwtVaXKgz2zCLSJ/RsGL5kdX+Xt9AZ+13j0CIENPIhpDh7OjW9ic5QC4Hg+IAOtzpqKfxh3lcnMeN0+zgk5MdWYn9jkeG4nrCS0nW4ouS1 teachers@nswi177

Váš skript musí podporovat následující příkazy (bez uvedení příkazu se má chovat jako by byl zadán help).

date   Print current date in `YYYY-MM-DD` format.
email  E-mail of the remote user (the one from SIS).
help   Print exactly this help.
load   Print current load.
test   Prints "Hello from NSWI177" (without the quotes).

Příkaz email budeme testovat tímto způsobem. Pro každého student zavoláme následující příkaz (s naším tajným klíčem od výše uvedeného).

ssh STUDENT-LOGIN@unixadmin.ms.mff.cuni.cz email

A zkontrolujeme, že výstupem je e-mail daného studenta (ze SISu). Ostatní příkazy budeme testovat obdobně.

Pro příkaz load očekáváme jako výstup pouze jedno číslo (tj. pouze první číslo z tzv. load average u příkazu uptime).

Nenahrávejte pro tuto úlohu žádný soubor do GitLabu, tato úloha bude kontrolována pouze na vzdáleném stroji.

Nápověda č. 1: podívejte se na soubor /proc/loadavg.

Nápověda č. 2: pro testování důrazně doporučujeme vytvořit si další pár veřejného-soukromého klíč. Zabráníte tím situaci, kdy se nebudete moci přihlásit na vzdálený stroj (virtuálně si zabouchnete klíč v zámku). Bude se vám hodit volba -i pro příkaz ssh. Pokud se vám podaří si přístup na unixadmin.ms.mff.cuni.cz zablokovat, ozvěte se nám co nejdříve.

Nápověda č. 3: testování pomocí ssh localhost CMD je dobrý nápad.

Nápověda č. 4: spuštění SSH s -o PreferredAuthentications=password přeskočí autentizaci pomocí privátního/veřejného klíče a mělo by vám dovolit přihlásit se i v případě špatně nakonfigurovaného souboru authorized_keys.

SSH port forward (3 body)

Na unixadmin.ms.mff.cuni.cz běží na portu 8080 webový server. Tento webový server ale není přístupný zvenčí, protože poslouchá pouze na loopback rozhraní.

Nicméně, SSH může protunelovat provoz pro podobnou službu na Váš počítač (říká se tomu také SSH port forward).

Protunelujte si službu tohoto webserveru na váš počítač a dokažte nám, že se vám to podařilo tím, že na GitLab nahrajete screenshot vašeho prohlížeče (do 03/port_forward.png) a obsah textového políčka (do 03/port_forward.txt).

Reverse port forward (4 body)

Vytvořte zpětný tunel (reverse tunnel) na váš stroj s Linuxem (ať už máte dualboot nebo virtualizovaný systém). Tj. vytvořte takové SSH spojení, které otevře port 22000 + X na stroji unixadmin.ms.mff.cuni.cz, kde X = vaše UID na unixadmin.ms.mff.cuni.cz (je-li vaše UID na unixadmin.ms.mff.cuni.cz rovno 1000, pak bude váš port 22000 + 1000 = 23000).

Pokud se někdo připojí na tento port na unixadmin.ms.mff.cuni.cz měl by se vlastně připojit na váš linuxový stroj. Tj. zavolání ssh -p 23000 UZIVATEL@localhost z počítače unixadmin.ms.mff.cuni.cz bude vlastně směřovat na k vám (na váš počítač). Prosím, dobře zkontrolujte číslo portu (abyste je někomu nepřebrali).

Je nutné zmínit, že toto připojení funguje jen po dobu, kdy je vaše SSH sezení aktivní (běží). Takže se nemusíte bát, že byste na nějakou dlouho dobu zpřístupnili SSH na vašem počítač svým spolužákům.

Navíc je potřeba testovat připojení zevnitř stroje unixadmin.ms.mff.cuni.cz, tj. Váš počítač nebude přímo dostupný zvenčí.

Pokud neběží váš SSH démon (stačí vyzkoušet pomocí ssh localhost), tenhle článek o instalaci a spuštění OpenSSH serveru by vám měl pomoci. Není dokonce pak ani nutné povolovat tuto službu (systemctl enable) pokud jí chcete mít spuštěnou jen pro vyřešení této úlohy (tj. stačí spustit systemctl start sshd a po vyřešení úlohy zase démona vypnout pomocí systemctl stop sshd).

Abyste ověřili, že vaše řešení funguje, spusťte nswi177-reverse-port na stroji unixadmin.ms.mff.cuni.cz. S parametrem test otestuje připojení, s parametrem submit odevzdá řešení.

Náš ověřovací program se pouze pokusí zjistit, zda-li na druhém konci poslouchá SSH server (pomocí ssh-keyscan). Tj. nebudeme se pokušet na váš stroj nijak přihlásit, není potřeba nijak nastavovat naše klíče nebo vytvářet speciálního uživatele.

Dobře zkontrolujte, že test funguje (opět ověřte čísla portů), protože s parametrem submit je pouze jeden pokus.