keywords: Windows, Linux, Ubuntu, ssh, vnc
източници: | How to remotely connect to Linux machines from Windows VNC over SSH2 - A TightVNC Tutorial: Example #3 - TightVNC over SSH from a Win32 PC |
Възнамеряваме да свържем два компютъра, които вие можете свободно да настройвате. Някои ограничения на задачата и възможни решения ще представим накрая, в заключението на това изложение.
Локална мрежа (LAN) зад защитна стена (firewall) е едно, а свободен достъп до интернет - нещо съвсем друго.
Като минимум при използването на SSH или VNC върху интернет изисква прилагането на защитни стени с възможност за идентификация, задължително криптиране с дълги и често сменяни ключове, сложни паролим нестандартни портове, ограничение на броя на опитети за несполучливо влизане, дълга забрана за влизане след несполучлив опит, забрана на административни права и др.
Ако желаете да използвате описаното по-долу върху компютри, имащи достъп до интернет, имайте едно наум - има хора, желаещи да повредят вашите компютри или да получат важната информация, с която разполагате. Предупредени сте - ние си измиваме ръцете!
При нашата демонстрация ще използваме удобна домашна или офисна LAN, далеч от дивия интернет. Започваме като начало с VNC.
VNC
Клиенската ни система ще бъде Ubuntu (10.04). Ubuntu идва с преинсталиран VNC софтуер. От вас се очаква само да го конфигурирате. Удобно е, че по подразбиране нямате инсталирана защитна стена - портовете са затворени и така отпада нуждата от софтуер, който да ги контролира.Ubuntu използва програмата Vino за VNC свързаност. Разбира се, ако предпочитате друг софтуер (напр. TightVNC) - можете да го използвате. Основните опринципи са същите.
Можете да настроите Vino чрез System > Preferences > Remote Desktop или като в конзола напишете vino-preferencies. Това ще отвори конфигурационното меню на Vino.
Сега трябва да изберем няколко опции: Allow other users to view your desktop и Allow other users to control your desktop. Тъй като искаме сигурност, ще изберем парола за достъп (password) и потвърждение на връзката (В случай, че ви трябва достъп до необслужвана машина - някакъв вид сървър, медиен център и др., трябва потвърждението на връзката да не е активно, а сигурността да подсилите по друг начин).
Тази част е писана за Ubuntu 8.10 и липсва в 10.04:
В Advanced, можем допълнително да настроим връзката. Криптирането на данните е строго препоръчително. Можете да изберете и нестандартен порт. |
Проверете дали вашият VNC е отворен. Можете да използвате nmap за това. Програмата е включена в много дистрибуции или може да се свали от хранилищата.
Сега трябва да се настрои Windows машината. Ние се нуждаем от VNC програма за да се свържем с нашата Linux машина, затова трябва да си я свалим от мрежата и да я инсталираме. Имате голям избор, но на първо време можете да използвате безплатните RealVNC или TightVNC.
След като сте стартирали програмата, настройте адреса на отдалечената машина:
Заб.: При вас изгледът може да е друг в зависимост от софтуера и направените от вас настройки. Обикновено настройките по подразбиране работят добре.
При Ubuntu машината ще бъдете помолени да потвърдите връзката (ако кутийката "You must confirm each access to this mashine" е отметната):
И вече имаме Linux, управляван от Windows машина (забележете, че при моите настройки се появява само индикация за връзката горе вдясно, но не се иска разрешение):
SSH
Сега трябва да инсталираме пакета ssh в Ubuntu. При някои дистрибуции е инсталиран по подразбиране, при други е в Software Sources > Updatesхранилищата.При опит за инсталация получих съобщение за грешка:
Използвайки опита на Francesco Ferrara и след като маркираме в Software Sources > Updates първите две позиции:
получаваме:
След като сме го инсталирали, независимо дали през Synaptic или с apt-get (от команден ред, sudo apt-get install ssh), проверяваме дали SSH порта е отворен:
Портът по подразбиране е 22.
Сега под Windows инсталираме ssh клиентски софтуер. Добър избор е PuTTY. Той е прост, лек и може да тръгне и от флашка.
PuTTY е програма, стартираща се от команден ред. Отворете конзолата (Run > cmd), отидете до директорията на PuTTY и стартирайте PuTTY с отдалечения IP address, например:
putty 192.168.1.143
Ще бъдете помолени да въведете ключа на отсрещната машина. Това е застраховка, освен ако наистина знаете кой е компютърът отсреща. Ако "вярвата" на отсрещния компютър и искате да повтаряте сесията, отговорете с "Yes", ако сесията е еднократна - с "No", а ако искате да прекратите връзката - натиснете "Cancel".Необходимо е да се легитимирате с парола::
и вече сте свързани:
Сега можем вече да работим на отдалечената машина:
Свързване чрез ssh и VNC
За целта обединяваме свързванията, като първо установяваме ssh тунела:Синтаксисът е: putty -L 5901:localhost:5900 user@192.168.xxx.yyy, където:
5901 е виртуалния порт, зададен на VNC клиента;
5900 е реалния порт на VNC;
user е името на Linux потребителя, с което ще влизаме;
192.168.xxx.yyy е конкретния адрес на Linux машината.
Следва удостоверяване с парола:
След установяване на ssh връзката извикваме VNC клиента:
Забележка: адресът на VNC сървъра е localhost:5901 (или localhost:1), вместо реален ip адрес. По този начин пренасочваме връзката през ssh тунела.
Сега вече въвеждаме парола за VNC връзката:
И ето: на екрана на Windows машината имаме пълен изглед от Linux работния плот и ресурсите му, като връзката е подсигурена от ssh тунела.
Заключение
Задачата за установяване на дистанционна връзка с Linux машина е сравнително проста задача в сигурна среда. Ако се опитвате да направите тази връзка през интернет, ще трябва да отделите време за да се застраховате срещу различните атаки и опасности за сигурността на информацията. Ако се свързвате към някакъв файлов или принтер сървър, към медия център или просто не ви се разкарва до съведния компютър, то това е едно от решенията.Свързването през интернет е по-същия начин, като има някои особености:
1. Ако работите на Windows машина, върху която нямате администраторски права и не можете да инсталирате, трябва да потърсите portable версия на някой от VNC клиентите. С putty няма да имате проблеми.
2. Ако управляемата машина е зад рутер/защитна стена, трябва да се отворят съответните портове. При D-Link/Belkin се наричат Virtual Servers:
Успех!
Коментари
Публикуване на коментар