DEV Community

Melissa
Melissa

Posted on

ssh from 3 places: Why TinyCore inside Oracle VM worked when PuTTY and PowerShell didn't

VyOS SSH - L4 Handshake vs L7 Banner / Keys / Auth

VyOS eth0 (LAN) = 192.168.56.101
VyOS eth1 (WAN) = 10.0.3.15

1) SSH FROM PowerShell

A. While SSH DISABLED:
Error: ssh: connect to host 192.168.56.101 port 22: Connection timed out

B. Pre-checks (disabled):
nmap -p 22 VyOS_IP = NA
ncat -v VyOS_IP 22 =NA
Keys? = NA

C. Pre-checks (after enable):
nmap = NA
ncat banner = NA
Keys = NA

D. Login test (only if pre-checks green):
ssh user@VyOS_IP =
Result = NA

Conclusion:
L3/L4 Testing Limitation – Windows Host to VyOS LAN (192.168.56.101)

Objective: Verify SSH (TCP 22) access to VyOS LAN interface from Windows PowerShell using Test-NetConnection, nmap, and ncat.

Result: N/A – Failure at L3 (not L4)

  1. L3 Test from Windows PowerShell (PS C:\Windows\system32>): ping 192.168.56.101 -> Request timed out. 100% loss (4/4)

Test-NetConnection 192.168.56.101 -Port 22
-> TcpTestSucceeded : False / No response

C:\Program Files (x86)\Nmap\nmap.exe -p 22 192.168.56.101
-> No output / hang – port state filtered (no L3 response)

ncat -v 192.168.56.101 22
-> No connection

  1. L3 Test from VyOS:
    ping 192.168.56.1 (Windows Host-Only adapter)
    -> Destination Host Unreachable

  2. Root Cause:
    VirtualBox > VyOS > Settings > Network > Adapter 1 (eth0)
    Current: Attached to: Internal Network
    Required for Windows access: Attached to: Host-Only Adapter

Internal Network mode intentionally excludes the Windows host by design.
Therefore Windows can never reach Oracle VM at L3, so L4/L7 SSH tests from PowerShell are impossible.

Changing Adapter 1 to Host-Only Adapter is blocked – OK button greyed out while VM is running. Creating a new Host-Only adapter in VirtualBox Network Manager fails on this host. Powering off to change risks DHCP change of LAN/WAN IPs.

  1. Conclusion: L3 unreachable between Windows and Oracle VM. Therefore L4 port 22 and L7 SSH app tests from PowerShell are N/A. This is a Windows/VirtualBox boundary issue, not a VyOS ssh service failure. Demonstrates effective isolation of management plane. SSH was verified locally on VyOS via show configuration and ss -tlnp.

2) SSH FROM PuTTY

A. While SSH DISABLED:
Error popup: [ ] NA

B. Pre-checks (disabled):
nmap (from PowerShell) = NA
ncat (from PowerShell) = NA

C. Pre-checks (after enable):
nmap = NA
ncat = NA

D. Login test (only if green):
PuTTY connection type: SSH, port 22
Result / auth: NA

Conclusion:

PuTTY SSH Test to VyOS LAN – Not Tested

PuTTY test to 192.168.56.101:22 – Not performed / Not Applicable.

Reason: See PowerShell L3 failure section. Windows host has no Layer 3 connectivity to Oracle VM VyOS LAN (eth0 attached to Internal Network, not Host-Only Adapter).

ping 192.168.56.101 = Request timed out (100% loss)
ping 192.168.56.1 from VyOS = Destination Host Unreachable

PuTTY requires L3 to establish TCP 22. As L3 is down at the Windows/VirtualBox boundary, any PuTTY attempt would timeout without ever reaching VyOS ssh service. Test would be irrelevant.

3) SSH FROM TinyCore VM inside Oracle VM

A. While SSH DISABLED:
Error: ssh not found

B. Pre-checks (disabled):
nmap -p 22 VyOS_IP = NA
ncat -v VyOS_IP 22 = NA
Keys? =

C. Pre-checks (after enable):
nmap = NA
ncat banner = NA
Keys = NA

D. Login test (only if green):
ssh user@VyOS_IP =
Result = NA

TinyCore VM - Connectivity Tests to VyOS LAN (192.168.56.101)

L4 Tooling Issue on TinyCore:

I wanted to do an L4 port check from TinyCore to VyOS.

  1. nmap - Attempted install via:
    tce-load -wi nmap.tcz
    Failed to install on the base TinyCore image.

  2. Alternative L4 tool: ss - The tool you suggested in this chat, sudo ss -tlnp, was tried as an alternative to nmap. This also did not work as an L4 probe from the TinyCore side due to TinyCore's minimal base install.

As a result, we used ping for L3 and the ssh client itself as the L4 test.

L3 - Ping to VyOS LAN - SUCCESSFUL:
ping 192.168.56.101
Result: 3 packets transmitted, 3 received, 0% packet loss - L3 is up.

L4 - SSH from TinyCore while SSH is DISABLED on VyOS:
ssh vyos@192.168.56.101
Error message:
ssh: connect to host 192.168.56.101 port 22: Connection refused
L4/L7 - SSH from TinyCore AFTER SSH was enabled on VyOS - FAILED:

After enabling SSH on VyOS, the SSH attempt from TinyCore still did not succeed.
ssh vyos@192.168.56.101
Error message:
- still Connection refused / timed out]
Next Step: This failure, plus the observation that SSH doesn't appear to stay enabled on VyOS after a reboot/save, will be investigated in the next section on the VyOS VM.

## ssh from TinyCore finally succeeded, read on for details:

The client was missing

tc@box:~$ ssh -v vyos@192.168.56.101
-sh: ssh: not found

TinyCore doesn't include SSH. The fix was one command:

tce-load -wi openssh

After that, the same ssh command connected. That was my first ever SSH - TinyCore .102 to VyOS .101. While checking the ARP table I also found 192.168.56.20 alive and pingable on the same host-only wire. Three hosts, not two.

VyOS was innocent

I suspected VyOS for hours, but sudo ss -tlnp src 192.168.56.101 showed the truth: sshd pid 4670 LISTEN 192.168.56.101:22. The daemon was waiting the whole time. I just had no client to call it with.

Why VM-to-VM worked but PowerShell/PuTTY didn't

Both VMs live inside VirtualBox Host-Only 192.168.56.0/24 - same L2 cable. TinyCore .102 to VyOS .101 needs no firewall. PowerShell/PuTTY from Windows has to go through the 192.168.56.1 host adapter and Windows Firewall, which blocks the path. Same listener, different door.

Top comments (0)