{ pkgs ? import {} }: let utils = import ../deployment/utils.nix {} ; files = [ (utils.copy ./flag.txt "home/joske/flag.txt") (pkgs.writeTextDir "home/joske/.ssh/authorized_keys" '' ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDO2F8WY5XTTcCapt0QhOOAetHTkdBJo+mc/bJ6oRg/0FJ9Ro74yZxcqOTbyEPf/khg9qY9TKf121CaXvJJSLmv3U20X15UlHnDPrh+EsRiCMaiMGd/N+l1ZQ+grj1klcblYxSt7nKtLhh36JaC9A6olFF8ahzcm1Rl69tE4bLdKqALpAbhbTmTlofIH1dzGDF31EfJeLZnuV5XRLq9XCF2YJkbyUJjeBs+4iHQFWxZFfYZJBMAYFLkNrmYvsKjwgwHBEC/g2nCRvW/0KhkXl/N8NU5jXw67Snf/unqD8JmC7Or3GgKT6+sdthbi2dWO4beSEnVoijmvFt+2uwSwU97tij7a7j6Z+J7ekkDDbt8Due1CxNL7sBcIbB22ELC0WwpEijzYC+RaCtiRegzEuGJui9wdjX7kOKxEobSVfSHgzzrT6FJWdThnQ4SZ2vsF6Yt5OjyXNI5TRiNv9DZAYdK6KNyxsxjEmkVZc1JGAsWzdq/GcBH1MilrK5w97JYat8= nibor@Rylia '') ] ; in pkgs.dockerTools.buildImage { name = "lost-keys"; tag = "latest"; contents = files ++ [ pkgs.busybox ]; runAsRoot = '' ${pkgs.dockerTools.shadowSetup} useradd -U -m joske mkdir -p /home/joske/ chown -R joske:joske /home/joske/ echo "joske:hvfu7s7xBNGe6Rxa" | chpasswd mkdir -p /root ${pkgs.dropbear}/bin/dropbearkey -t rsa -f /root/hostkey chmod o-r /root/hostkey chmod -R -w /home/joske/ ''; config = { ExposedPorts = { "2222/tcp" = {}; }; Cmd = [ "${pkgs.dropbear}/bin/dropbear" "-r" "/root/hostkey" "-F" "-g" "-j" "-k" "-p" "2222" ]; }; }