Във VirtualBox има възможност да се свържете с guest машината чрез виртуална серийна конзола.На пръв поглед може да изглежда малко безполезно, но тази опция може да свърши работа при някои случаи.

Например може да ви се наложи да виртуализирате някоя мрежова ОС като МiKroTik RouterOS, и сте в headless режим и няма настроена услуга за отдалечен достъп като SSH и Telnet, или пък няма настроени IP адреси.Благодарение на тази опция може да се свържете към виртуализиран сериен порт на машината.

За целта е нужно да зададете настройките на меню Serial Ports, преди да стартирате виртуалната машина :

console

За Port Mode изберете Host Pipe и махнете отметката от Connect to existing pipe/socket. За Path/Adress въведете някакъв произволен път, за предпочитане да е в /tmp или някоя директория в която потребителят има права за запис.В случая аз съм въвел /tmp/con.

Създаденият при стартиране файл - /tmp/con всъщност е unix domain socket и за да достъпите конзолата е нужно да го конвертирате във формат като pty.Има и възможност за TCP и връзка чрез telnet, но като пробвах някои опции като autocomplete не работеха коректно така че препоръчвам pty. За целта ще имате нужда от 2 програми - socat и screen.

Отворете терминал и въведете следната команда за да се създаде pty :


socat UNIX-CONNECT:/tmp/con PTY,link=/tmp/con-pty

След въвеждане горната команда ще си стои в режим на изпълнение, така че не затваряйте терминалния емулатор.Отворете нов и се свържете към новосъздадения pty чрез screen :


screen /tmp/con-pty

Натиснете някой бутон и ще ви се появи екран, както все едно физически сте свързани към серийна конзола. Всеки път преди да използвате опцията, след стартиране е нужно да стартирате горната socat команда и да я оставите в работен режим, за да извършва конвертирането към pty.

Източник