Choose your computer and paste one command.
curl -fsSL https://raw.githubusercontent.com/andrewmuratov/utm-shell/main/setup.sh | shOpen PowerShell:
irm https://raw.githubusercontent.com/andrewmuratov/utm-shell/main/setup.ps1 | iexFreeBSD / OpenBSD
FreeBSD
fetch -q -o - https://raw.githubusercontent.com/andrewmuratov/utm-shell/main/setup.sh | shOpenBSD
ftp -V -o - https://raw.githubusercontent.com/andrewmuratov/utm-shell/main/setup.sh | shThe installer does almost everything for you.
- Enter your UTORid.
- If SSH needs authorization, enter your UTORid password once.
- When setup finishes, type:
utm
Your password is never stored.
The default lab computer is dh2026pc08. Change it later with:
utm host HOST
UTM lab machines normally require the U of T network or UTORvpn.
Just run:
utm
If you are off campus, UTM Shell detects that automatically.
- Cisco already installed: it opens Cisco Secure Client and waits for the VPN.
- Cisco not installed: it opens the official U of T download page and guides the correct setup for your OS.
- Ubuntu / Debian and Fedora / RHEL: downloaded Cisco packages are detected, extracted, and installed automatically; you only approve the administrator prompt.
- Windows: the downloaded Cisco bundle is detected, extracted, and the VPN installer is opened automatically.
- macOS: the downloaded Cisco image is detected and opened automatically; finish the Cisco package and select the VPN module.
Then connect to:
general.vpn.utoronto.ca
Sign in with your UTORid. UTM Shell detects the connection and continues.
Official UTORvpn guide · Cisco Secure Client download
utm
That's the normal command.
- on campus → connects directly
- off campus → handles the UTORvpn step, then connects
- after first setup → SSH is passwordless
- interrupted setup → run
utmagain and it resumes
| Command | What it does |
|---|---|
utm |
Connect to the lab |
utm status |
Check whether UTM is reachable |
utm vpn |
Open or set up UTORvpn |
utm host HOST |
Change lab computer |
utm files |
Show file-copy examples |
utm doctor |
Diagnose problems |
utm update |
Update or repair UTM Shell |
utm help |
Show help |
Inside the lab machine, run utm-help for the small set of shell shortcuts.
scp FILE utm:~/
scp utm:~/FILE .
scp -r FOLDER utm:~/The local setup layer uses PowerShell on Windows and portable POSIX sh on Unix-like systems.
Windows, macOS, Linux, WSL, ChromeOS Linux, FreeBSD, and OpenBSD are supported by the SSH/setup layer. UTORvpn availability depends on the Cisco client packages U of T provides for each platform.
See platform details for exact VPN support and limitations.
utm doctor
utm update
More help: getting started · UTORvpn · login problems · security
UTM Shell creates a managed SSH entry, the local utm command, and an SSH key when needed. It also adds a small managed shell setup on the UTM lab machine.
It does not store passwords, upload private keys, disable SSH host verification, replace unrelated dotfiles, or install software on UTM lab machines.
UTM Shell is an independent convenience project and is not affiliated with or maintained by the University of Toronto. Official U of T and course instructions take precedence.
MIT © 2026 Andrew Muratov