import logging import os import shutil def env_setup(ctx): logging.info("setting up test directory for router testing") srcdir = globals()["srcdir"] # Copy env/ssh/ from source dir, which has SSH config and keys. ssh = os.path.join(srcdir, "env", "ssh") dst = os.path.join(os.getcwd(), ".ssh") logging.debug(f"copy {ssh} to {dst}") shutil.copytree(ssh, dst) # The config refers to ssh/ed25519 as the key to use. However, the # directory is actually .ssh here so that the SSH client finds it # automatically. Create a symlink so both forms work. os.symlink(".ssh", "ssh") # Set permissions on the key files, so that the SSH client isn't upset if # they're lax. Git doesn't preserve the permissions correctly. os.chmod(".ssh/ed25519", 0o600) os.chmod(".ssh/ed25519.pub", 0o600)