Public course previewThis is not your assigned passport. No identity, answers, or completion progress are stored here.How to start your passport
Getting started
New to the lab
Set up your IT Passport.
The IT Passport is the lab's guided course for setting up tools and practising safe IT tasks used in research. It selects the lessons needed for your work and remembers where you stopped on the computer in front of you. The steps name the application to use and the result to look for.
Already started on another computer? Install only missing tools below, then follow Continue On Another Computer to resume your existing Passport.
A program on your computer that records file changes and their history.
GitHub
A website that stores shared Git projects, called repositories, and their reviews.
GitHub CLI (gh)
CLI means command-line interface: a program you use by typing instructions in a terminal. The next section shows what a terminal is and how to open it.
Passport launcher
An extension, or add-on, for GitHub CLI that opens this guided course on your computer in your browser.
The required tools are Git and GitHub CLI (gh). Keep working installations. Other software is introduced later, only when one of your lessons needs it.
You may see soheylm-passport-sandbox in links. This is the GitHub group that hosts the course software during the 2026 semester. Continue with your personal GitHub account; do not request membership in that group. Exercise submissions are public and must contain only the requested fictional information.
Before step 1
What is a terminal, shell, and command?
Optional: application, file and installation vocabulary
An application, or app, is a program you open, such as a web browser or PowerShell. A browser is the app used to open websites, such as Firefox, Chrome, Edge, or Safari. A file stores one item; a folder groups files. To download is to copy something from a website to this computer. To install is to add an application so this computer can run it.
A command is a line of text that tells a computer to do one task. You paste commands into a terminal, the text application used for commands. A shell is the part inside that application that reads the command. This guide uses PowerShell on Windows, zsh on macOS, and Bash on Linux. Open PowerShell or Terminal as shown here; that application starts its configured shell. Follow the shell named in the OS section. You do not need to find or install a separate Bash or zsh application.
Windows, macOS, and Linux are operating systems: the basic software that runs your computer. Choose the section matching the computer in front of you. Local means on that computer;remote means on another computer reached through a network.
Prompt
The text and blinking cursor shown when the shell is ready, such as PS C:\Users\Ada>, %, or $.
Command
The instruction you paste after the prompt. Press Enter once to run it.
Output
The text printed by the command. Wait for the prompt to return before running the next command.
Path
The address of a file or folder, such as C:\Users\Ada or /home/ada.
PS C:\Users\Ada>git --versiongit version 2.51.0PS C:\Users\Ada>
Prompt already shown by the shellCommand the part you pasteOutput the result you read
Choose the computer in front of you
The page will show only the instructions for that operating system. You can change this choice later.
Windows
Open PowerShell
Press the Windows key, type PowerShell, and open the result named PowerShell. Use the window that appears. Windows Terminal is also suitable when its tab says PowerShell. Do not use Command Prompt, Git Bash, or WSL for a block labelled PowerShell. A ready prompt normally begins with PS.
macOS
Open Terminal
Press Command+Space, type Terminal, and press Return. Terminal normally starts the zsh shell. If it uses another shell, type zsh and press Return for this session; do not search for a separate zsh app. A ready prompt normally ends with %.
Linux
Open Terminal
Open the application named Terminal from the applications menu. Ubuntu normally starts the Bash shell. If Terminal uses another shell, type bash and press Enter for this session; do not search for a separate Bash app. A ready prompt normally ends with $.
Run one command
Use the Copy button beside the blue command.
Click once after the terminal prompt and paste.
Press Enter once.
Wait for the output to stop and the prompt to return.
Compare the output with the stated expected result.
30-second practice
Run a harmless first command
This command only prints the words terminal-ready. It does not install, delete, or configure anything.
In the PowerShell window you just opened:
Write-Output "terminal-ready"
In the Terminal window you just opened:
printf 'terminal-ready\n'
In the Terminal window you just opened:
printf 'terminal-ready\n'
Expected: the next line is terminal-ready, followed by the prompt again. Once you see it, use the same window for step 1.
Step 1
Check Git and GitHub CLI
Use the terminal you opened above. Run each check separately:
Git
git --version
Expected: a line such as git version 2.51.0.
GitHub CLI
gh --version
Expected: a line beginning with gh version.
If a command is missing, select your operating system and follow its installation instructions. Then close the terminal, reopen it, and repeat both checks.
Windows 10 or 11 / PowerShell
winget is Windows' built-in package installer. Use it to install Git, then GitHub CLI. Run one command at a time and accept only the named Git or GitHub package.
winget install --id Git.Git -e --source winget
winget install --id GitHub.cli -e --source winget
Expected: both commands report a successful installation. Close the PowerShell window, open a new one, and repeat the two checks above.
Running git --version may open Apple's Command Line Tools installer. Complete that installer if prompted. Homebrew is an optional macOS package installer; if its brew command already works, install GitHub CLI with:
brew install gh
If Homebrew is absent, open the official releases page, expand Assets, download the file ending in macOS_universal.pkg, and open it with Installer. Do not download Source code. If macOS blocks the official package, stop rather than weakening Gatekeeper. Then open a new Terminal window and repeat both checks.
First identify the distribution. This command changes nothing:
cat /etc/os-release
Read the line beginning with ID=. It names the Linux distribution. sudo runs the following installation command with administrator rights and may ask for this computer's password without showing characters as you type. If this is an ETH-managed computer and you do not normally use sudo, stop and request the two packages from its IT support.
Ubuntu or Debian on a personal computer
Use this section only when ID=ubuntu or ID=debian. Run one command block at a time. The second block adds GitHub's official signed software source for gh.
Expected: both installations finish without an APT signature error.
Fedora, RHEL, Arch, openSUSE, or another distribution
Do not run the Ubuntu/Debian block. Open both official pages below, select the section naming your distribution and package manager, and install git plus gh. Do not substitute a third-party install script.
Close this terminal, open a new one, and repeat both version checks above. The Passport is tested with GitHub's maintained Linux package or release binary, not the confined Snap package.
Installation blocked?
Write down the exact error without including a password, token, private path, or personal information. Do not change PowerShell policy, antivirus settings, SSH files, or system permissions.
Run these commands in order. Continue only after you see the expected result.
Your GitHub username and exercise submissions will be public. Never submit passwords, tokens, private keys, ETH usernames, email addresses, student numbers, private paths, logs, screenshots, or research data.
01
Check or sign in to GitHub
Your computer / PowerShell. If you have no account, first create one free personal GitHub account; use an email you will keep, and add your ETH email later for Education. Run the status command first. If it already names the intended account, skip the login command. Otherwise run the login command, finish the browser approval, then repeat the status command.
Expected: gh auth status says you are logged in and prints the GitHub username you intend to use.
If this step fails
If no account is logged in, repeat the login command and finish the browser sign-in. If the intended account is already stored but inactive, run gh auth switch --hostname github.com --user YOUR-GITHUB-USERNAME, replace the placeholder, and repeat the status check. Do not log out or continue under someone else's account.
02
Install the Passport launcher
Your computer / PowerShell. This installs the tested release v0.12.1. This command is required for the first installation. Later compatible updates appear as an Update and reopen button in your local Passport.
Expected: GitHub CLI confirms that the extension was installed or upgraded. Updates are never installed silently.
If this step fails
If the error names an older copy of this extension, run gh extension remove soheylm-passport-sandbox/gh-passport once, then repeat this step. For any other error, use troubleshooting.
03
Start your Passport
Your computer / PowerShell. Choose your operating system and the work you expect to do in the browser.
gh passport start
Expected: your browser opens an address beginning with http://127.0.0.1:. This address means the page is served only from your own computer. Keep the terminal open because the launcher in that terminal is running the page.
If this step fails
Run gh passport doctor and follow the recovery shown for the failed check. If the error remains, use troubleshooting. Keep the Passport folder.
FIRST SESSION
Complete the setup in your browser
Confirm the public-record notice, select your responsibilities, and open your first lesson. Keep the terminal running while the local page is open.
RETURN LATER
Resume from any folder
Open PowerShell or Terminal and run:
gh passport open
The launcher finds the managed Passport folder and opens the page where you stopped. Do not reinstall or clone again.
ASSESSMENT
Submitted exercises are checked automatically
Your supervisor registers your GitHub username. If a submitted lesson has no result after 30 minutes, open one help request without including private information.
Optional preview
Review the available lessons
The preview shows the lessons selected for each type of work. It does not save progress.