Tuesday, November 5, 2013

Tunnelling VNC remote Over SSH on Linux via Putty

Setting at VNC Server
ทำเหมือนกันกับโพสนี้เลย Tunelling VNC Over SSH on Windows
  • ให้เรา remote ผ่าน ssh เข้าไปที่ VNC Server และพิมพ์คำสั่ง เพื่อสร้างช่องทางเชื่อมต่อโดยในที่นี้จะ remote แล้วได้ resolution  vnc server ที่ความละเอียด 1024*768 (เราสามารถแก้ความละเอียดได้ตามความต้องการ)
$ vncserver -geometry 1024x768
  • ทำการแก้ไขไฟล์ graphic config ของ vnc ซะหน่อย (เพราะ server ของผู้เขียนเป็น debain ค่าเริ่มต้นของไฟล์นี้จะเป็นแบบ x desktop ซึ่งจะมีหน้าจอสีเทา แค่นั้นเมื่อรีโมทไป จึงต้องแก้ค่า คอนฟิกใหม่) ด้วยคำสั่ง
nano ~/.vnc/xstartup
  • แก้ไขให้เป็นประมาณนี้ (ในที่นี้จะ vnc เข้าไปแล้วใช้ gnome เป็น desktop) แก้เสร็จทำการ save ซะ
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#startkde &
gnome-session &
  • ทำลาย session vnc ที่สร้างไว้เมื่อตะกี้ก่อน เพื่อโหลดค่า graphic config ใหม่ซะหน่อย
$ ps -ef | grep vnc
$ kill [pid vnc]
  • ตั้งค่า password vnc ซะหน่อยด้วยคำสั่ง (มันจะให้ใส่ password 2 ครั้ง)
$ vncpasswd
  • พิมพ์คำสั่ง เพื่อสร้างช่องทางเชื่อมต่อ อีกครั้ง 1
$ vncserver -geometry 1024x768
  • บน remote server ของผู้เขียนได้ผลลัพธ์ประมาณนี้ เมื่อรันคำสั่งด้านบน
New 'myname-host:1 (env)' desktop is myname-host:1
Starting applications specified in /home/myname/.vnc/xstartup
Log file is /home/myname/.vnc/myname-host:1.log
You have new mail in /var/mail/myname
  • ผลลัพธ์ของผู้เขียนจะสร้าง display 1 เตรียมไว้ให้ remote เข้าไป จำเลขนี้ไว้ เลข 1 เราจะนำค่านี้ไปคอนฟิกใน putty อีกรอบ (หรือถ้าได้ myname-host:2 แบบนี้ให้จำเลข 2 ไว้เปลี่ยนท้ายเลขพอร์ต VNC)
  • ทางฝั่ง remote server พร้อมให้ remote แล้ว
--------------------------------------------------------------------------------------------------------
Setting at client
  • อย่างแรกเลย Linux เราในที่นี้ใช้ Ubuntu เราต้องติดตั้ง Putty ก่อน ด้วย Ubuntu Sotfware Center ง่ายสุด
  • เปิด Putty ขึ้นมา ตั้งค่า Tunnels โดยไปที่ Connection => SSH => Tunnels
  • Source port ใส่เป็น 5901 และ Destination ใส่เป็น localhost:5901 (ที่มาของการที่ต้องใช้พอร์ต 5901 อ่านได้จาก Tunnelling VNC Over SSH on Windows)

  • คลิกที่ปุ่ม Add (ทำไมมันมีปุ่มให้ Apply เหมือน Windows หว่า)
  • จากนั้นไปที่เมนู Session และใส่ชื่อ hostname หรือ IP Address แล้ว คลิกที่ปุ่ม Open เพื่อ Login เข้าไปที่ VNC Server เตรียม session SSH ไว้สำหรับให้ VNC Client เกาะไปด้วย
  • เปิดโปรแกรม VNC Client ขึ้นมาสักตัว ซึ่งผู้เขียนใช้ Ubuntu 13.10 จะมี Remmina มาให้แล้ว
  • Profile กำหนดค่า Name ให้เรียบร้อย แล้วแต่จะตั้ง
  • มาที่กลุ่ม Tab ด้านล่างเราจะตั้งค่าเฉพาะ Basic tab เท่านั้น ค่าที่ tab อื่นๆ ไม่ต้องไปยุ่งกับมัน
  • ภายใน Tab Basic ที่ Server ตั้งค่าเป็น localhost:5901 และไปที่ Password ใส่รหัสที่เราตั้งไว้ตอน Setting VNC Server ด้วยคำสั่ง vncpasswd นั่นแหละ
  • สำหรับ Quality เลือกตามความต้องการได้เลยในที่นี้ ขอเลือกเป็น Good ภาพชัดดี
  • สุดท้ายคลิก Connect

Related
Refer
  • ผู้เขียนใช้ Debian 6 เป็น VNC Server และ ใช้ Ubuntu 13.10 เป็น Client

No comments:

Post a Comment