Znalostní Báze

Informace o sdružení vpsFree.cz, návody a nejčastější dotazy.

Uživatelské nástroje

Nástroje pro tento web


navody:vps:konzole

Vzdálená konzole

Každému se již určitě někdy stalo, že dostal systém do stavu, ve kterém se nemůže připojit na SSH. Ať už kvůli vypnutému sshd, špatně nastaveným pravidlům v iptables či ztracenému SSH klíči. Naštěstí se přes vpsAdmin můžeme napojit přímo na konzoli VPS.

Konzole je k dispozici buď přes webové rozhraní nebo přímo z terminálu přes utilitu vpsfreectl. Pokud je na výběr, doporučuji použít pro přístup na konzoli vpsfreectl. Konzole funguje v terminálu mnohem spolehlivěji a responzivněji, než-li ve webovém prohlížeči.

Konzole je perzistentní. To znamená, že v ní můžeme sledovat proces vypnutí a zapnutí VPS. Odpojení od konzole také uživatele neodhlásí, pokud před odpojením nedojde k úmyslnému odhlášení.

Webové rozhraní

Do konzole se dostaneme přes záložku VPS, viz. screenshot.

vpsfreectl

Jak vpsfreectl nainstalovat je popsáno v článku o API.

Na konzoli VPS se připojíme následujícím příkazem:

$ vpsfreectl vps remote_console <VPS_ID>

Kde <VPS_ID> nahradíme ID VPS, na jehož konzoli se chceme připojit. Konzole lze uzavřit postupným stiskem kláves ENTER ESC . (enter escape tečka). Toto je jediný způsob, jakým se dá konzole odpojit (kromě zavření okna terminálu).

Zajištění správné funkce

Aby konzole fungovala co nejlépe, je důležité mít na VPS stejné locale, jaké používá terminál, z něhož se připojujeme. Hlavní je kódování - pokud je na obou stranách jiné, budou se místo některých znaků zobrazovat otazníky, apod.

vpsAdmin nemůže konzoli předat proměnnou prostředí $TERM. Některé TUI aplikace se však hodnotě této proměnné přizpůsobují a na první pohled se tak může zdát, že aplikace či konzole nefunguje správně. Např. aby v mc fungovala myš a barvy, je zapotřebí buď nastavit TERM=xterm, nebo si tento režim vynutit přepínačem mc -x.

Automatické nastavení hodnoty proměnné $TERM po přihlášení do konzole lze zařídit pomocí .bashrc:

cat <<EOF >> ~/.bashrc
[ "`tty`" == "/dev/console" ] && export TERM=xterm
EOF

Povolení vzdálené konzole

V aktuálních šablonách distribucí je tato konzole většinou již přednastavená. U starších šablon je potřeba ji povolit ručně.

Debian

Do souboru /etc/inittab vložíme tento řádek:

1:2345:respawn:/sbin/getty 38400 tty0

El (Scientific Linux, CentOS)

Do souboru /etc/init/tty.conf vložíme tyto řádky:

stop on runlevel [S016]

respawn
instance $TTY
exec /sbin/mingetty $TTY

Dále do souboru /etc/init/start-ttys.conf vložíme:

start on stopped rc RUNLEVEL=[2345]

env ACTIVE_CONSOLES=/dev/tty[0-6]
env X_TTY=/dev/tty1
task
script
        . /etc/sysconfig/init
        for tty in $(echo $ACTIVE_CONSOLES) ; do
                [ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
                initctl start tty TTY=$tty
        done
end script

Gentoo

Do souboru /etc/inittab vložíme tento řádek:

# vpsFree remote console
c0:2345:respawn:/sbin/agetty --noreset 38400 tty0

A po restartu by konzole již měla fungovat.

Ubuntu

U aktuální šablony Ubuntu toto není potřeba.

Vytvoříme soubor /etc/init/tty0.conf, do kterého vložíme:

start on stopped rc or RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 38400 tty0 vt102

Službu spustíme pomocí sudo start tty0. Po restartu se bude zapínat automaticky.

Když to nefunguje

Pokud konzole nefunguje, nevypisuje všechny znaky nebo nedovoluje přihlášení, je pravděpodobně spuštěno více instancí getty, které se hádají o vstup. Řešením je vypnout nadbytečné getty v /etc/inittab.

navody/vps/konzole.txt · Poslední úprava: 2016/12/11 15:41 autor: toms