ترجمه: ‌آرش مدني علمداري

به فايل يا فولدري در كامپيوتر خانگي يا محل كار خود از راه دور نياز داريد. اگر يك اتصال ويندوز به ويندوز يا اپل به اپل داشته باشيد، با استفاده از فناوري‌هاي ارتباط از راه دور خاص هر سكو، اين كار آسان خواهد بود. مايكروسافت حتي امكان اتصال راه‌دور از اپل به ويندوز را نيز فراهم كرده است. اما اگر به اتصال راه‌دور بين سكوهاي متفاوت، مثلا‌ ويندوز به لينوكس يا ويندوز به اپل نياز داشته باشيد، چه بايد بكنيد؟ راه‌حل اين مسئله كمي دور از ذهن است؛ به‌ويژه اگر خواهان صرف كمترين هزينه باشيد.


منبع: پي‌سي مگزين

يك محصول منبع‌باز و رايگان به نام Victual Network Computing) VNC) خوشبختانه به كمك شما مي‌آيد. اين محصول را ابتدا شركت AT&T توسعه داده و از سال 1998 در دسترس است. تخمين زده مي‌شود ميليون‌ها نفر از اين محصول استفاده مي‌كنند.

VNC امكان اتصال به دسكتاپ گرافيكي را توسط پروتكل TCP/IP، پروتكل استاندارد اينترنت، فراهم مي‌كند. اگر در اين مورد به جست‌وجو در گوگل بپردازيد، انتخاب‌هاي فراواني پيدا مي‌كنيد. اما VNC اصلي به شركت RealVNC
تعلق دارد كه توسط توسعه‌دهندگان اصلي VNC در AT&T تاسيس شده است و به توسعه نسخه‌هاي جديدتر اين ابزار مي‌پردازد. Real VNC سه نسخه از اين محصول را عرضه كرده است: رايگان، شخصي و تجاري.

نسخه‌هاي شخصي و تجاري ويژگي‌هاي بيشتري مانند امنيت توكار و مقياس‌پذيري را فراهم مي‌كنند. در اين مقاله روي نسخه رايگان متمركز مي‌شويم كه ويژگي‌هايي همچون امكان ارتباط از راه‌دور ساده به همراه احراز هويت ابتدايي را دربردارد و مي‌تواند توسط ابزارهاي رايگان ديگري امن‌تر شود.

VNC از دو بخش تشكيل شده است: بخش سرور و بخش ناظر (viewer). سرور روي ماشيني كه از راه‌دور به آن متصل مي‌شويد نصب شده‌است و بخش ناظر نيز روي سيستمي كه دسترسي توسط آن صورت خواهد گرفت، نصب مي‌شود. RealVNC بخش سرور را براي ويندوز و يونيكس تهيه كرده است؛ سرور براي ساير سكوها. براي مثال MAC OS توسط شركت‌هاي ديگري ساخته شده است. من نياز به دسترسي به دسكتاپ سيستم‌عامل MAC OS  روي كامپيوتر PowerBook از ماشين ويندوزيم داشتم.
 

دسترسي راه‌دور به وسيله VNC و SSH 


به همين دليل يك سرور VNC براي MAC OS تهيه و راه‌اندازي كردم و يك كلا‌ينت نيز براي ماشين ويندوز تدارك ديدم. براي اين كار ابتدا OSXvnc را از اينجا دانلود كردم. سپس آن را براي گوش دادن به پورت پيش‌‌فرض 5900 (با مقدار 102.15.168.192) به همراه يك رمز عبور ساده تنظيم كردم. پس از آن يك نسخه رايگان ناظر VNC براي ويندوز را از سايت Realvnc دانلود كردم. آن را روي ماشين ويندوز اكس‌پي نصب نمودم و به سرور OSXvnc نصب شده روي MAC OS متصل شدم.

من OSX vnc را روي مكينتاش پاوربوك خود نصب نمودم و آن را براي گوش دادن به پورت 5900 تنظيم كردم.

به راحتي توانستم به تمام دسكتاپ MAC خود دسترسي پيدا كنم. چون مي‌خواستم به سرعت به نتيجه برسم، تا جايي كه توانستم از گزينه‌هاي پيش‌فرض كارخانه‌اي استفاده كردم. مثلا‌ از پورت پيش‌فرض 5900 استفاده نمودم. البته بدون توجه به اين‌كه چه نوع سكوي سرور يا كلا‌ينتي داريد، تا وقتي كه دو پورت كلا‌ينت و سرور يكسان باشند، مي‌توانيد از هر پورت دلخواه ديگري استفاده كنيد.

به‌رغم آن‌كه VNC رايگان احراز هويت ابتدايي را انجام مي‌دهد، ارتباط ميان كلا‌ينت و سرور بدون رمزگذاري برقرار مي‌شود. اما مي‌توانيد ارتباط ميان آن‌ها را با برنامه‌هايي نظير SSH كه در اصل با تغيير مسير (يا تونل زدن) به صورت واسطي بين كلا‌ينت و سرور عمل مي‌كند، رمزگذاري كنيد.

در واقع به‌جاي آن‌كه به صورت مستقيم به برقراري ارتباط با سرور بپردازيد، ناظر VNC با كلا‌ينت SSH محلي ارتباط برقرار مي‌كند، SSH محلي نيز با سرور راه‌دور ارتباط برقرار مي‌نمايد و پيام را به آن مي‌رساند. دست آخر SSH سرور ارتباط را با VNC سرور برقرار مي‌نمايد. براي انجام‌دادن اين فرايند به يك كلا‌ينت و سرور SSH نياز داريد. MAC OS براساس يك هسته يونيكس ساخته شده است (بر پايهBSD).
 
بنابراين سرويس‌هاي SSH با سيستم‌عامل يكپارچه‌شده و از طريق كادر كنترلي system prefenences
 
ناظر VNC روي ماشين ويندوز اكس‌پي، كه من براي اتصال به سرور OSXvnc از آن استفاده كردم.
بسته نرم‌افزاري ديگري نيز با نام cygwin در آدرس www.cygwin.com كه شبيه‌سازي محيط SSH را فراهم مي‌كند، وجود دارد.

براي آغاز عمليات انتقال پورت (تونل زدن) يك پنجره دستور در ويندوز باز كردم و دستور زير را تايپ نمودم:
 SSH-N-L-5900:172.0.0.1:5900 anil@192.168.15.102N
از اجراي هرگونه دستور از راه دور جلوگيري مي‌كند و L پورت محلي را به آدرس IP و پورت راه‌دور انتقال مي‌دهد.
 
(براي مطالعه بيشتر در مورد انتخاب‌هاي SSH سري به اين سايت بزنيد.) هنگامي كه ارتباط برقرار شد، رمز عبور MAC از من خواسته شد. در حالت SSH/Secure، ناظر VNC به جاي ارتباط با آدرس IP راه‌دور با ميزبان محلي (Local host) ارتباط برقرار كرد.

با اجراي VNC، به طور كامل به دسكتاپ مكينتاش خود از طريق كامپيوتر ويندوزم دسترسي پيدا كردم.

به دلا‌يلي نتوانستم از عبارت Local host استفاده كنم و به جاي آن از ‌آدرس فيزيكي 1.0.0.127 استفاده كردم. 1.0.0.127معادلي براي Local host است؛ آدرسي كه هميشه كامپيوتر محلي را نشان مي‌دهد.

به هرحال هنگامي كه اين مانع كوچك از بين رفت، ناظر و سرور VNC به راحتي مانند آن‌كه مستقيما و بدون تونل امن SSH به هم متصل شده‌باشند به كار خود ادامه دادند. اگر از تركيب مختلف سكوها استفاده كنيد، مراحل به همين ترتيب خواهد بود.

حداقل شرايط لا‌زم آن است كه هم سرور و هم كلا‌ينت چه VNC باشد چه SSH، بايد توانايي برقراري ارتباط با يكديگر را بدون توجه به سكويي كه در آن استفاده مي‌شوند، داشته باشند.

بنابراين بايد دستورات معمولي يا پارامترهاي GUI و يا توابعي مانند آدرس IP و پورت را بپذيرند. چه VNC را به صورت ايمن به كار ببريد يا به صورت غيرايمن، به راحتي مي‌توانيد دسكتاپ راه‌دور را مانند آن‌كه در آن محل حضور داريد، به كار بگيريد.
 
قابل توجه است كه VNC يك جلسه (Session) جداگانه براي كاربر نمي‌گشايد، بلكه در واقع اجازه كنترل هر آنچه روي دسكتاپ / صفحه‌ نمايش در حال اجرا باشد را از راه‌دور به شما مي‌دهد. ممكن است بخواهيد با فهرست F8 آشنا شويد، كه اجازه دسترسي به پاره‌اي از عملكردها را مي‌دهد، مانند آن‌هايي كه اجازه كوچك شدن، انتقال يا بسته شدن پنجره‌ها را مي‌دهند. همچنين مي‌توانيد كليدهاي Ctrl و Alt را براي انجام‌دادن برخي كارها از طريق سرور VNC، تنظيم نماييد.

VNC راه خوبي براي تكميل نيازهاي دسترسي از راه دور شما است. مي‌توانيد همان‌طور كه من به آن براي ارتباط راه‌دور خود تكيه كردم، به آن اعتماد كنيد. اگر تصميم به استفاده مرتب از VNC گرفته‌ايد، حتما گزينه‌هاي پيشرفته آن مانند ابزارهاي خط دستور گوناگون، فايل‌هاي اتصال VNC، گزينه‌هاي تنظيمات و بهبود آن و چيزهاي بسيار ديگر را فرا بگيريد. همچنين اين برنامه يك ناظر جاوا دارد كه به عنوان يك اپلت براي دسترسي به يك سرور كوچك مورد استفاده قرار مي‌گيرد (براي مثال براي دسترسي از طريق پورت 5802 با نشاني آدرسhttp:\\192.168.15.102:5802) درضمن اجراي آن به عنوان يك برنامه كاربردي به همراه سرور RealVNC نيز ميسر است.