Becuase of you have to do some tests with out games and products we are stongly reccomend to you use Windiows onto yours wokring notebook.
This document will show how to install and configure working environments.
Download and install next software.
-
Windows OpenSSH
: https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v9.5.0.0p1-Beta -
KeePassXC
: https://github.com/keepassxreboot/keepassxc -
VirtualBox
: https://www.virtualbox.org/ -
Windows Terminal
: https://www.microsoft.com/store/productId/9N0DX20HK701?ocid=pdpshare
Configure downloaded softwares.
After Windows OpenSSH will be installed you have to configure agent starup.
-
Open PowerShell as an Adminitrator
-
Run next command for enable ssh-agent service
Start-Service -Name ssh-agent
Set-Service -Name ssh-agent -StartupType Automatic
- Also we recommend to torn off sshd service as well
Stop-Service -Name sshd
Set-Service -Name sshd -StartupType Disabled
Please, make sure that you are using ssh-agent and ssh binaries provided by Win32-OpenSSH package!
Get-Command ssh-add
Get-Command ssh
A valid ssh binary location is: C:\Program Files\OpenSSH\ssh.exe
Generate SSH key-pair for your future VM (only for this VM!). Leave password empty.
ssh-keygen
You can find this pair into %USERPROFILE%\.ssh
location.
Just select yours keepass database file location. Then you have to navigate to
Tools
-> Settings
-> SSH Agent
and Enable SSH Agent Integration
set Use OpenSSH
box as well.
Now you can add an entry and add your ssh key into it (see Advanced
tab). Next you have to navigate into
SSH Agent
tab and configure how and when your key will be added to ssh-agent.
Create, configure and install your favorite linux distribution (e.g. ubuntu-server-24.04).
Do not forgent to add shares, or any additional devices for your choise.
If you will using NAT network you also should add port mapping for SSH (simple 22 to 22 I guess).
Add public key generated befor into .ssh/authorized_keys
in VM (or you can do it on install in some distros).
Save next script somewere, e.g. D:\exe\sys\start-vm.bat
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm %VMNAME% --type headless
Replace %VMNAME%
with your VM name.
Open startup menu (win+r -> shell:startup
) and create link to yours bat file there.
Create bat file, e.g. D:\exe\sys\ssh-vm.bat
@echo off
set VMNAME="%1"
set USERNAME="%2"
set HOSTNAME="%3"
IF %VMNAME%=="" goto usage
IF %USERNAME%=="" goto usage
IF %HOSTNAME%=="" goto usage
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" list runningvms | find /C %VMNAME%
IF %ERRORLEVEL%==1 goto start_vm
goto ssh_vm
:usage
@echo.
@echo Usage: is_running.bat VMNAME USERNAME HOSTNAME
@echo VMNAME: name of yours VirtualMachine
@echo USERNAME: username for connect
@echo HOSTNAME: where we will ssh (VBox Adapter address)
@echo.
exit /b 1
:start_vm
echo VM %VMNAME% NOT RUNNING. STARTING %VMNAME%
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm %VMNAME% --type headless
ping -n 30 127.0.0.1 >nul
:ssh_vm
ssh -A %USERNAME%@%HOSTNAME%
exit /b 0
Open terminal configuration and add into profiles list next
{
"commandline": "D:\\exe\\sys\\ssh-vm.bat %VMNAME% %USER% %VMADDR%",
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6102}",
"cursorShape": "filledBox",
"hidden": false,
"icon": "ms-appdata:///roaming/ubuntu-32.png",
"name": "Ubuntu-Server-24.04(VBox VM)"
}
I'd like to use key bindings from Gnome Terminal, so here is config:
"actions":
[
{
"command":
{
"action": "switchToTab",
"index": 3
},
"keys": "ctrl+4"
},
{
"command": "paste",
"keys": "ctrl+v"
},
{
"command":
{
"action": "switchToTab",
"index": 9
},
"keys": "ctrl+0"
},
{
"command":
{
"action": "prevTab"
},
"keys": "ctrl+pgdn"
},
{
"command":
{
"action": "switchToTab",
"index": 2
},
"keys": "ctrl+3"
},
{
"command":
{
"action": "switchToTab",
"index": 4
},
"keys": "ctrl+5"
},
{
"command":
{
"action": "switchToTab",
"index": 7
},
"keys": "ctrl+8"
},
{
"command":
{
"action": "switchToTab",
"index": 0
},
"keys": "ctrl+1"
},
{
"command":
{
"action": "copy",
"singleLine": false
},
"keys": "ctrl+c"
},
{
"command":
{
"action": "splitPane",
"split": "auto",
"splitMode": "duplicate"
},
"keys": "alt+shift+d"
},
{
"command": "find",
"keys": "ctrl+shift+f"
},
{
"command":
{
"action": "switchToTab",
"index": 1
},
"keys": "ctrl+2"
},
{
"command":
{
"action": "nextTab"
},
"keys": "ctrl+pgup"
},
{
"command":
{
"action": "switchToTab",
"index": 8
},
"keys": "ctrl+9"
},
{
"command":
{
"action": "switchToTab",
"index": 6
},
"keys": "ctrl+7"
},
{
"command":
{
"action": "switchToTab",
"index": 5
},
"keys": "ctrl+6"
}
],