User Tools

Site Tools


services:eecsvm

EECSVM Service

The EECSVM service allows students to use virtual machines required by courses they are taking. The service is only available to students enrolled in courses requiring this service, and the respective faculty. Once a course completes, the student VMs will deleted to ensure there is enough space for use the next term.

Users will use VirtualBox to access virtual machines from either a lab workstation, or, remotely using a set of servers available in remotelab.

These lab workstations support EECSVM service:

Lab Cores per Workstation Memory
LAS1002 6 16 GB
LAS1002b 6 16 GB
LAS1004 16 32 GB
LAS1006 12 32 GB
WSC105 6 16 GB
WSC106 12 16 GB
WSC108 12 16 GB

(*) LAS1006 hosts (ea01-ea78) appear in remotelab, and can be used remotely. These hosts are often used for labtest during the day, and remote sessions may be interrupted. They may not be the best choice for remote access unless in the late evening, weekends, or holidays.

The following servers are available in remotelab for supporting remote use of the EECSVM service:

Server Cores per Server Memory
rose 20 256 GB
ruby 20 256 GB
scarlet 24 256 GB

NOTE: Due to Microsoft restrictions, Windows VMs must only be used by students who are sitting at a workstation in a lab on campus. You must not use Windows VMs remotely. Please respect this policy.

Check If You Have Access

To determine whether your account has access to the EECSVM service:

% eecsvm access
You have access to EECSVM service.

If you see, “You do not have access to EECSVM service.”, then you are not enrolled in a course to which access has been granted. You can email tech if you have any questions. If you have just enrolled in a course, it make take up to 24 hours before access is granted.

If you see the following error, then you are attempting to use the EECSVM service from from a system which is not in the above list of workstations or servers:

EECSVM service is not available on this system.
Please view this webpage to see where you can access the EECSVM service:
https://wiki.eecs.yorku.ca/dept/tdb/services:eecsvm

List Available Virtual Machines

To list available virtual machines that you can install:

% eecsvm list vms
3482-w24-win10
4421
flarevm
kali-linux-2025.1c (alias: kali)
metasploitable2
metasploitable3-ubuntu14
metasploitable3-win2k8
SEED-Ubuntu20.04
ubuntu-24.04.2-lts-server (alias: ubuntu)
windows11

List Available Virtual Machine Bundles

If you are enrolled in a course to which multiple virtual machines will be installed, a VM bundle has likely already been created for the course. A VM bundle allows you to install multiple virtual machines with specific installation options with a single command.

To list available virtual machine bundles:

% eecsvm list bundles
eecs3481-alomari:
 --netname secnet SEED-Ubuntu20.04 seed
eecs3482-alomari:
 --netname secnet kali-linux-2025.1c kali
 --netname secnet SEED-Ubuntu20.04 seed
 --netname secnet metasploitable3-ubuntu14
 --netname secnet metasploitable3-win2k8
eecs3482-rts:
 --netname secnet kali-linux-2025.1c kali
 --netname secnet metasploitable3-ubuntu14
 --netname secnet windows11
eecs4484-alomari:
 --netname secnet SEED-Ubuntu20.04 seed
 --netname secnet flarevm

For example, you can see that the “eecs3482-alomari” bundle includes Kali Linux, SEED, and Metasploitable Ubuntu and Windows versions.

Install A Virtual Machine

After listing the available virtual machines, install a virtual machine like this:

% eecsvm install ubuntu-24.04.2-lts-server
ubuntu-24.04.2-lts-server VM:
Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered.
UUID: 3d9d73f1-f655-453a-8555-aa38f84fd350
Settings file: '/eecs/vm/user/jas/ubuntu-24.04.2-lts-server/ubuntu-24.04.2-lts-server.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: eebee866-d94d-4751-81ad-f538962e14be

Ubuntu server is installed immediately. It takes very little time.

In the listing of available VMs, you can see that ubuntu-24.04.2-lts-server is also aliased to just “ubuntu”. This means you can install it like this as well:

% eecsvm install ubuntu
ubuntu VM:
Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered.
UUID: 69d452a3-d2d5-4f93-98ac-65c6ce921884
Settings file: '/eecs/vm/user/jas/ubuntu-24.04.2-lts-server/ubuntu-24.04.2-lts-server.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 5e33e04b-53c2-4e60-b17b-0669b9a390dc

Installing a Virtual Machine Multiple Times

If you need to install multiple copies of the same virtual machine (say, 3 copies of Ubuntu Server), then you can give each install its own name:

% eecsvm install ubuntu ubuntu1
ubuntu VM:
Virtual machine 'ubuntu1' is created and registered.
UUID: 8ccb442a-4e77-4b01-bf04-20573072de7e
Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 354c50c3-d424-4582-881d-60fcd2623092
% eecsvm install ubuntu ubuntu2
ubuntu VM:
Virtual machine 'ubuntu2' is created and registered.
UUID: ab673026-1ba9-4166-82b0-dcc7da5c35d0
Settings file: '/eecs/vm/user/jas/ubuntu2/ubuntu2.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 42d86496-d566-4f19-b8ab-68a42e07fdd6
% eecsvm install ubuntu ubuntu3
ubuntu VM:
Virtual machine 'ubuntu3' is created and registered.
UUID: 61aeaf0e-b0a7-4e17-9efc-702e312f1040
Settings file: '/eecs/vm/user/jas/ubuntu3/ubuntu3.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: e9456026-7214-4ed0-b7d2-4be551af7fa8

Optional Virtual Machine Installation Options

Other options which you can use when installing a virtual machine with “eecsvm install” include:

  • –force Force install even if the VM is already installed.
  • –immutable Mark VM disk as immutable (changes thrown away on exit).
  • –netname NAME Attach the VM to VirtualBox network NAME. By default, each VM will only share the network with other instances of the same VM. Using this option, you can install various VMs which will share the same private network.

For example, to overwrite a previous Ubuntu install, and to create an immutable VM which uses the network name “mynet”:

% eecsvm install --force --immutable --netname mynet ubuntu ubuntu1
ubuntu VM:
Virtual machine 'ubuntu1' is created and registered.
UUID: 3565008e-f109-486a-b47d-dc6b4df96d66
Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 34f31b21-f166-40c5-ae14-9a8b619ac5f8

If you haven't used –force, the the system would not have been able to re-install the VM since it is already installed:

% eecsvm install --immutable --netname mynet ubuntu ubuntu1
ubuntu VM:
error: VM ubuntu1 already exists.  Repeat install command and add --force to reinstall.

Installing a Virtual Machine Bundle

To install a virtual machine bundle, pass the bundle name to the “eecsvm installbundle” command. For example, to install the eecs3482-alomari bundle:

% eecsvm installbundle eecs3482-alomari
Installing bundle eecs3482-alomari  ...
Processing install --netname secnet kali-linux-2025.1c kali:
kali-linux-2025.1c VM:
Virtual machine 'kali' is created and registered.
UUID: bf97f58f-1ffe-49d4-8a0e-b27b6ade338a
Settings file: '/eecs/vm/user/jas/kali/kali.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 9c1610c4-0ff2-4440-8ff5-787d58b673f1
Processing install --netname secnet SEED-Ubuntu20.04 seed:
SEED-Ubuntu20.04 VM:
Virtual machine 'seed' is created and registered.
UUID: 56a28c1f-107a-41f4-a557-d9f3d607069e
Settings file: '/eecs/vm/user/jas/seed/seed.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: b1086ee0-4d64-4307-a7cc-6876256fab0b
Processing install --netname secnet metasploitable3-ubuntu14:
metasploitable3-ubuntu14 VM:
Virtual machine 'metasploitable3-ubuntu14' is created and registered.
UUID: 9f8d52c0-f328-4d23-a4ab-6db8ac647412
Settings file: '/eecs/vm/user/jas/metasploitable3-ubuntu14/metasploitable3-ubuntu14.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 0f2c9f6c-25e8-4828-940b-cd06aa6d8385
Processing install --netname secnet metasploitable3-win2k8:
metasploitable3-win2k8 VM:
Virtual machine 'metasploitable3-win2k8' is created and registered.
UUID: 37966072-5e59-422f-849c-912d15568b6e
Settings file: '/eecs/vm/user/jas/metasploitable3-win2k8/metasploitable3-win2k8.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: e5a123ab-2c3d-4d27-ac41-5a11129bfbe5

Here, we can see that several virtual machines were installed: Kali, SEED, and Metasploitable3 Windows, and Ubuntu versions. We can see they are installed using a shared network “secnet”, so all of the VMs will share a private network, 10.0.2.0/24.

Check Which Virtual Machines You Have Installed

To check which virtual machines you have installed:

% eecsvm list installed
kali
metasploitable3-ubuntu14
metasploitable3-win2k8
seed

Delete a Virtual Machine

To delete a virtual machine:

% eecsvm delete kali
Deleting VM kali ...

Starting a Virtual Machine

To start a virtual machine:

% eecsvm start kali
Waiting for VM "kali" to power on...
VM "kali" has been successfully started.

The virtual machine starts, and you see the VM output in a separate window.

If you want to start the VM in the background (AKA headless), do it like this:

% eecsvm start kali --headless
Waiting for VM "kali" to power on...
VM "kali" has been successfully started.

Since EECSVM is a wrapper for VirtualBox, you can also start VMs in the VirtualBox GUI. Start VirtualBox by using the “virtualbox” command from a terminal, or by selecting the Activities menu, then searching for “virtualbox”.

WARNING: On some older O/S, the VirtualBox Guest Additions do not work. In these cases, when you click on the VM window, your mouse will be locked to that window, and you will not be able to exit it unless you hit the right CTRL key on your keyboard.

Stopping A Virtual Machine

To stop a virtual machine (issue an O/S shutdown):

% eecsvm stop kali
Stop sent to VM "kali".

The virtual machine shuts down.

You can also shutdown VMs in the VirtualBox GUI. Right-click on the virtual machine in the left side of the display, and choose “Stop” then your shutdown option. The VM will be shut down.

SSH Access

If your VM is running VirtualBox Guest Additions, and an SSH server, then you can SSH to it from the EECS system where you are running the VM.

For example, if “kali” VM is started, and running an SSH server (which it does not run by default):

% eecsvm ssh kali
ssh into the VM kali with: ssh <user>@localhost -p 26600
% ssh kali@localhost -p 26600
The authenticity of host '[localhost]:26600 ([127.0.0.1]:26600)' can't be established.
ED25519 key fingerprint is SHA256:i3EHIF7IDsuyQ9pwOf/FAXEVG+dNzxbK5MZB3/yj0Qg.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:26600' (ED25519) to the list of known hosts.
kali@localhost's password: 
Linux kali 6.12.13-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.12.13-1kali1 (2025-02-11) x86_64

The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
┌──(kali㉿kali)-[~]
└─$ 

NOTE: Every time you run the “eecsvm ssh” command, the system reconfigures SSH access to the VM, so a new port may be used.

NOTE: As most VMs have well documented username and password, if you are enabling SSH access on a VM, please make sure that you've changed the username or password on your local VM copy. Otherwise, another student could connect to your running VM.

Check Your Virtual Machine Storage Quota

To see how much space you have available in your EECSVM quota:

% eecsvm quota
Quota: 98.1 of 195312.5 MB used

By default, you have a 20 GB storage quota. When you install VMs, the original VM disk does not count toward your quota. For example, if you install an Ubuntu VM from the repository, it will take up very little of your space, no matter how big the default install is. Anything you add to the VM will be counted toward your VM quota. If you run out of space, you won't be able to get more, so please use your space wisely.

Reset Your EECSVM Environment

If you would like to clear your EECSVM storage, and VirtualBox settings, use the “eecsvm reset” command. Please make sure you have exited VirtualBox:

% eecsvm reset
************************* WARNING ******************************************

This operation will delete ***ALL*** of your virtual machines, AND 
your VirtualBox configuration.  This operation is NOT recoverable.

Please ensure that VirtualBox and your VMs are not running on any system.

Do you wish to proceed (YES/[no]) ?YES
Deleting /cs/home/jas/.config/VirtualBox ...
Deleting VMs ...
Done

Access Your EECS Home Directory From Inside Your Virtual Machine

Your EECS home directory can be shared with virtual machines. The method of accessing it will vary depending on the O/S:

Linux

With Linux, your EECS home directory will be available as: /media/sf_homes

NOTE: If you are setting up a new virtual machine, or adding additional users to an existing VM, you need to ensure that:

  • 1) The VirtualBox “Guest Additions” package is installed, and
  • 2) The “vboxsf” group exists (“Virtualbox Shared Folder”).
  • 3) the user who should be able to access your EECS home directory is in the vboxsf group. You enter this command on the guest VM:
    % sudo usermod -aG vboxsf $(whoami)

Windows

  • 1) The VirtualBox “Guest Additions” package must be installed.
  • 2) Your home directory is accessible as Windows share “\\vboxsrv\homes”.

Creating Your Own Virtual Machine

Faculty can create VMs and make them available to their students in consultation with tech.

First, start by installing an existing VM image just like before:

% eecsvm install ubuntu my-custom-ubuntu
ubuntu VM:
Virtual machine 'my-custom-ubuntu' is created and registered.
UUID: 6e317972-2718-46c8-aa9e-501cf8c1c5ba
Settings file: '/eecs/vm/user/jas/my-custom-ubuntu/my-custom-ubuntu.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 6ceff68d-d00a-44dd-958d-714085bcfeed

Next, start the VM, and make any required adjustments. For example, you could install various software packages, and configure the VM in custom ways.

When you're done testing, shut down the VM, and export the VM to tech:

% eecsvm export my-custom-ubuntu
Exporting my-custom-ubuntu (this will take some time) ...
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully exported 1 machine(s).
Export success.

This will automatically package up your VM, put it into a holding directory, and send an e-mail to tech to let them know that you've exported a VM. It's a good idea to follow this up with an email to tech to let us know your intention. Tech will then install your VM into the image repository, and make it available to all users of the EECSVM service.

NOTE: Once a user has installed a VM from the repository, we can no longer change the base image.

WARNING: While you can install a VM from an ISO image, if you do this, ALL of the disk usage will be counted in your VM quota, and you will likely run out of space.

Other Important Information About EECSVM Service

  • Data in the EECSVM area is not backed up. If you corrupt your VM disk image, you will need to start again.
  • VirtualBox will not monitor if you are running your VM simultaneously on multiple machines. If you do this, it will cause corruption and data loss and you will lose your work and need to start over. Always ensure that you shutdown your virtual machines cleanly, and exit VirtualBox whenever you are done.
  • If you're using a lab workstation, please check the pcmode schedule to ensure that the workstation that you choose will not be rebooted into labtest while you are working. This will interrupt your session, and could corrupt your VMs.
  • All supported VMs must run on the current VirtualBox version. If the VM reports that it cannot be used with the latest VirtualBox version, we won't be able to use it.
  • The EECSVM service is intended for education students. This service is not intended for research purposes.
  • At the end of each term, ALL student storage on the EECSVM service will be deleted without notice. Once this happens, the data is not recoverable. Please ensure that you've backed up your data before the start of the next term.
  • Each user can choose which VMs they install in their storage space. Users who install VMs from ISOs will find that they run out of disk space. Additional quota for students is not available. Likewise, since installation of updates will consume your quota, it is not recommended to install updates unless necessary.
  • For more information on VirtualBox command line options, use command “vboxmanage”.

Here's additional information on the currently installed VMs for use with the EECSVM service:

Currently Installed VMs

VM Images

NameDescriptionUsername/Password
3482-w24-win103482 Winter 24 Windows 10 VMna
44214421 VMna
flarevmWindows 11 FlareVM with default packagesu: common, p: common
kali-linux-2025.1cKali Linuxu: kali, p: kali
metasploitable2Metasploitable 2u: mfsadmin, p: mfsadmin
metasploitable3-ubuntu14Metasploitable 3u: vagrant, p: vagrant
metasploitable3-win2kMetasploitable 3u: vagrant, p: vagrant
SEED-Ubuntu20.04SEEDu: seed, p: dees
ubuntu-24.04.2-lts-serverGeneric Ubuntu 24.04.2 LTS Server VMu: common, p: common
windows11Generic Windows 11u: common, p: common

VM Bundles

NameDescription
eecs3481-alomariSEED
eecs3482-alomariKali, SEED, Metasploitable3 Ubuntu, Metasploitable3 Windows
eecs3482-rtsKali, Metasploitable3 Ubuntu, Windows 11
eecs4484-alomariSEED, FlareVM

NOTE: Due to Microsoft restrictions, Windows VMs must only be used by students who are sitting at a workstation in a lab on campus. You must not use Windows VMs remotely. Please respect this policy.

services/eecsvm.txt · Last modified: by jas