Ð ãããŸã§ãããããçš®é¡ã®ä»®æ³ãã·ã³äžã§VNCãµãŒããŒãå®è¡ããæ¹æ³ã«ã€ããŠèª¬æããŠããŸããããã®ãªãã·ã§ã³ã«ã¯å€ãã®æ¬ ç¹ããããäž»ãªæ¬ ç¹ã¯ããŒã¿è»¢éãã£ãã«ã®åž¯åå¹
èŠä»¶ãé«ãããšã§ãã仿¥ã¯ãã°ã©ãã£ã«ã«ãã¹ã¯ãããã«æ¥ç¶ããŠã¿ãŸãã Linux RDPïŒãªã¢ãŒããã¹ã¯ããããããã³ã«ïŒçµç±ãVNCã·ã¹ãã ã¯RFBïŒãªã¢ãŒããã¬ãŒã ãããã¡ïŒãããã³ã«ãä»ããŠãã¯ã»ã«é
åãéä¿¡ããããšã«åºã¥ããŠããããRDPã¯ããè€éãªã°ã©ãã£ãã¯ããªããã£ããšé«ã¬ãã«ã³ãã³ãã®éä¿¡ãå¯èœã«ãããéåžžããªã¢ãŒããã¹ã¯ããããµãŒãã¹ãç·šæããããã«äœ¿çšãããã WindowsãããããµãŒããŒã¯ Linux ãå©çšå¯èœã§ãã
ç®æ¬¡ïŒ
ã°ã©ãã£ãã¯ç°å¢ã®ã€ã³ã¹ããŒã«
ä»®æ³ãã·ã³ã䜿çšããŸã Ubuntu ããã»ããµã³ã¢2åºãRAM 4GBãããŒããã£ã¹ã¯ãã©ã€ãïŒHDDïŒ20GBãæèŒããServer 18.04 LTSã§ããããããæ§èœã®äœãæ§æã§ã¯ãã°ã©ãã£ãã¯åŠçãå€çšãããã¹ã¯ãããç°å¢ã«ã¯é©ããŠããŸããïŒãã ããããã¯åŠçè² è·ã«ãã£ãŠç°ãªããŸãïŒããæ³šææã«ããã¢ãŒã·ã§ã³ã³ãŒããHabrahabr10ããå ¥åãããšã10%å²åŒã«ãªããŸãã®ã§ããå¿ããªãã

ãã¹ãŠã®äŸåé¢ä¿ãå«ããã¹ã¯ãããç°å¢ã®ã€ã³ã¹ããŒã«ã¯ã次ã®ã³ãã³ãã§å®è¡ããŸãã
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsåã®ã±ãŒã¹ãšåæ§ã«ãã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹èŠä»¶ãæ¯èŒçäœããããXFCE ãéžæããŸããã
ãµãŒããŒãšãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ã®ãã·ã¢å
å€ãã®å Žåãä»®æ³ãã·ã³ã¯è±èªããŒã«ã©ã€ãºã®ã¿ã§ãããã€ãããŸãã ãã¹ã¯ãããã§ã¯ãã·ã¢èªãå¿ èŠã«ãªãå ŽåããããŸãããããã¯ã»ããã¢ãããç°¡åã§ãã ãŸããã·ã¹ãã ããã°ã©ã ã®ç¿»èš³ãã€ã³ã¹ããŒã«ããŸãããã
sudo apt-get install language-pack-ruããŒã«ãªãŒãŒã·ã§ã³ãèšå®ããŸãããã
sudo update-locale LANG=ru_RU.UTF-8/etc/default/locale ãæåã§ç·šéããŠããåã广ãåŸãããŸãã
GNOME ããã³ KDE ã®ããŒã«ãªãŒãŒã·ã§ã³ã®ããã«ããªããžããªã«ã¯ language-pack-gnome-ru ããã³ language-pack-kde-ru ããã±ãŒãžããããŸãããããã®ãã¹ã¯ãããç°å¢ã®ããã°ã©ã ã䜿çšããå Žåã¯ãããããå¿ èŠã«ãªããŸãã XFCE ã§ã¯ã翻蚳ã¯ã¢ããªã±ãŒã·ã§ã³ãšãšãã«ã€ã³ã¹ããŒã«ãããŸãã æ¬¡ã«ãèŸæžãã€ã³ã¹ããŒã«ã§ããŸãã
# СлПваÑО ÐŽÐ»Ñ Ð¿ÑПвеÑкО ПÑÑПгÑаÑОО
sudo apt-get install hunspell hunspell-ru
# ТезаÑÑÑÑ ÐŽÐ»Ñ LibreOffice
sudo apt-get install mythes-ru
# ÐМглП-ÑÑÑÑкОй ÑлПваÑÑ Ð² ÑПÑЌаÑе DICT
sudo apt-get install mueller7-dictããã«ãäžéšã®ã¢ããªã±ãŒã·ã§ã³ ããã°ã©ã ã§ã¯ç¿»èš³ã®ã€ã³ã¹ããŒã«ãå¿ èŠãªå ŽåããããŸãã
# ÐÑаÑÐ·ÐµÑ Firefox
sudo apt-get install firefox firefox-locale-ru
# ÐПÑÑПвÑй ÐºÐ»ÐžÐµÐœÑ Thunderbird
sudo apt-get install thunderbird thunderbird-locale-ru
# ÐÑОÑМÑй Ð¿Ð°ÐºÐµÑ LibreOffice
sudo apt-get install libreoffice libreoffice-l10n-ru libreoffice-help-ruããã§ãã¹ã¯ãããç°å¢ã®æºåã¯å®äºã§ããæ®ã㯠RDP ãµãŒããŒã®èšå®ã ãã§ãã
RDP ãµãŒããŒã®ã€ã³ã¹ããŒã«ãšæ§æ
ãªããžããªå Ubuntu ç¡æã§é åžãããŠããXrdpãµãŒããŒã䜿çšããŸãã
sudo apt-get install xrdpãã¹ãŠãããŸãããã°ããµãŒããŒã¯èªåçã«èµ·åããã¯ãã§ãã
sudo systemctl status xrdp 
Xrdp ãµãŒããŒã¯ xrdp ãŠãŒã¶ãŒæš©éã§å®è¡ãããããã©ã«ãã§ /etc/ssl/private/ssl-cert-snakeoil.key èšŒææžãååŸããŸãããããã¯ç¬èªã®ãã®ã«çœ®ãæããããšãã§ããŸãã ãã¡ã€ã«ãèªã¿åãããã®ã¢ã¯ã»ã¹æš©ãåŸãã«ã¯ããŠãŒã¶ãŒã ssl-cert ã°ã«ãŒãã«è¿œå ããå¿
èŠããããŸãã
sudo adduser xrdp ssl-certããã©ã«ãèšå®ã¯ /etc/default/xrdp ãã¡ã€ã«ã«ãããä»ã®ãã¹ãŠã®ãµãŒããŒæ§æãã¡ã€ã«ã¯ /etc/xrdp ãã£ã¬ã¯ããªã«ãããŸãã äž»èŠãªãã©ã¡ãŒã¿ã¯ xrdp.ini ãã¡ã€ã«å ã«ããããã倿Žããå¿ èŠã¯ãããŸããã èšå®ã¯è©³ããææžåãããŠããã察å¿ãããã³ããŒãžãå«ãŸããŠããŸãã
man xrdp.ini
man xrdpæ®ã£ãŠããã®ã¯ããŠãŒã¶ãŒ ã»ãã·ã§ã³ã®åæåæã«å®è¡ããã /etc/xrdp/startwm.sh ã¹ã¯ãªãããç·šéããããšã ãã§ãã ãŸãããã£ã¹ããªãã¥ãŒã·ã§ã³ããã¹ã¯ãªããã®ããã¯ã¢ãã ã³ããŒãäœæããŸãããã
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.shXFCE ãã¹ã¯ãããç°å¢ãéå§ããã«ã¯ã次ã®ãããªã¹ã¯ãªãããå¿ èŠã§ãã
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4泚æ: ã¹ã¯ãªããã§ã¯ãå®è¡å¯èœãã¡ã€ã«ãžã®ãã«ãã¹ãèšè¿°ããããšããå§ãããŸããããã¯è¯ãç¿æ £ã§ãã ã¹ã¯ãªãããå®è¡å¯èœã«ããŸãããããã®æç¹ã§ãXrdp ãµãŒããŒã®ã»ããã¢ããã¯å®äºãããšèŠãªãããŸãã
sudo chmod 755 /etc/xrdp/startwm.shãµãŒããŒãåèµ·åããŸãã
sudo systemctl restart xrdp
ãã¡ã€ã¢ãŠã©ãŒã«ã®èšå®
ããã©ã«ãã§ã¯ãXrdpã¯ãã¹ãŠã®ã€ã³ã¿ãŒãã§ãŒã¹ã§TCPããŒã3389ããªãã¹ã³ããŸããä»®æ³ãµãŒããŒã®æ§æã«ãã£ãŠã¯ãNetfilterãã¡ã€ã¢ãŠã©ãŒã«ãèšå®ããå¿ èŠãããå ŽåããããŸãã Linux ããã¯éåžžiptablesãŠãŒãã£ãªãã£ã䜿çšããŠè¡ãããŸããã Ubuntu ufwã䜿çšããæ¹ãè¯ãã§ããããã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ãåãã£ãŠããå Žåã¯ã以äžã®ã³ãã³ãã䜿çšããŠèšå®ã§ããŸãã
sudo ufw allow from IP_Address to any port 3389次ã®ããã«ä»»æã® IP ããã®æ¥ç¶ãèš±å¯ã§ããŸãã
sudo ufw allow 3389RDP ãããã³ã«ã¯æå·åããµããŒãããŠããŸãããXrdp ãµãŒããŒããããªã㯠ãããã¯ãŒã¯ã«å ¬éããã®ã¯æªãèãã§ãã ã¯ã©ã€ã¢ã³ããåºå® IP ãæããªãå ŽåããµãŒããŒã¯ã»ãã¥ãªãã£ã匷åããããã« localhost ã®ã¿ããªãã¹ã³ããå¿ èŠããããŸãã SSH ãã³ãã«çµç±ã§ã¢ã¯ã»ã¹ããã®ãæåã§ããããã«ãããã¯ã©ã€ã¢ã³ã ã³ã³ãã¥ãŒã¿ããã®ãã©ãã£ãã¯ãå®å šã«ãªãã€ã¬ã¯ããããŸãã ç§ãã¡ãåæ§ã®ã¢ãããŒãããšã£ãŠããŸã VNCãµãŒããŒçšã
RDPãµãŒããŒãžã®æ¥ç¶
ãã¹ã¯ãããç°å¢ã§äœæ¥ããã«ã¯ãå¥ã®éç¹æš©ãŠãŒã¶ãŒãäœæããããšããå§ãããŸãã
sudo adduser rdpuser 
ãŠãŒã¶ãŒã sudo ã°ã«ãŒãã«è¿œå ããŠã管çé¢é£ã®ã¿ã¹ã¯ãå®è¡ã§ããããã«ããŸãã ãã®ãããªå¿
èŠããªãå Žåã¯ããã®æé ãã¹ãããã§ããŸãã
sudo gpasswd -a rdpuser sudoçµã¿èŸŒã¿ã®ãªã¢ãŒããã¹ã¯ããããµãŒãã¹ã¯ã©ã€ã¢ã³ããå«ããä»»æã®RDPã¯ã©ã€ã¢ã³ãã䜿çšããŠãµãŒããŒã«æ¥ç¶ã§ããŸãã WindowsXrdpãå€éšã€ã³ã¿ãŒãã§ãŒã¹ã§ãªãã¹ã³ããŠããå Žåã¯ããã以äžã®æäœã¯å¿ èŠãããŸãããæ¥ç¶èšå®ã§VPSã®IPã¢ãã¬ã¹ããŠãŒã¶ãŒåããã¹ã¯ãŒããå ¥åããã ãã§ããæ¥ç¶ãå®äºãããšã次ã®ãããªç»é¢ã衚瀺ãããŸãã

ãã¹ã¯ãããç°å¢ã®åæã»ããã¢ãããå®äºãããšãæ¬æ Œçãªãã¹ã¯ããããåŸãããŸãã ã芧ã®ãšããããã¹ãŠã¯äœ¿çšããã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠç°ãªããŸãããå€ãã®ãªãœãŒã¹ãæ¶è²»ããŸããã

XrdpãµãŒããŒãlocalhostã®ã¿ããªãã¹ã³ããŠããå Žåãã¯ã©ã€ã¢ã³ãã³ã³ãã¥ãŒã¿äžã®ãã©ãã£ãã¯ã¯SSHãã³ãã«ã«ããã¯ãããå¿
èŠããããŸãïŒVPSäžã§sshdãå®è¡ãããŠããå¿
èŠããããŸãïŒã Windows ã°ã©ãã£ã«ã«ãªSSHã¯ã©ã€ã¢ã³ãïŒäŸãã°PuTTYïŒã䜿çšããããšãã§ããŸãããUNIXã·ã¹ãã ã§ã¯sshãŠãŒãã£ãªãã£ãå¿
èŠã§ãã
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ipãã³ãã«ãåæåããããšãRDP ã¯ã©ã€ã¢ã³ãã¯ãªã¢ãŒã ãµãŒããŒã§ã¯ãªãããŒã«ã« ãã¹ãã«æ¥ç¶ããŸãã
ã¢ãã€ã«ããã€ã¹ã®å Žåã¯ããã«è€éã§ãããã³ãã«ã確ç«ã§ããSSHã¯ã©ã€ã¢ã³ããè³Œå ¥ããå¿ èŠããããiOSãšiPadOSã§ã¯ãéå°ãªçé»åæ©èœã«ãã£ãŠãµãŒãããŒãã£è£œã¢ããªã±ãŒã·ã§ã³ã®ããã¯ã°ã©ãŠã³ãåäœã劚ããããŸãã iPhone iPad ã§ã¯å¥ã®ã¢ããªã䜿ã£ãŠãã³ãã«ãèšå®ããããšã¯ã§ããŸãããSSH çµç±ã§ RDP æ¥ç¶ã確ç«ã§ããçµ±åã¢ããªãå¿ èŠã§ããããšãã°ã .
ã»ãã·ã§ã³ãããŒãžã£ãŒãšãŠãŒã¶ãŒã»ãã·ã§ã³
ãã«ããŠãŒã¶ãŒäœæ¥ã®æ©èœã¯ Xrdp ãµãŒããŒã«çŽæ¥å®è£ ãããŠããã远å ã®æ§æã¯å¿ èŠãããŸããã systemd çµç±ã§ãµãŒãã¹ãéå§ããåŸã3389 ã€ã®ããã»ã¹ãããŒã¢ã³ ã¢ãŒãã§å®è¡ãããããŒã XNUMX ã§ãªãã¹ã³ããlocalhost çµç±ã§ã»ãã·ã§ã³ ãããŒãžã£ãŒãšéä¿¡ããŸãã
ps aux |grep xrdp 
sudo netstat -ap |grep xrdp 
ã»ãã·ã§ã³ ãããŒãžã£ãŒã¯ãã¯ã©ã€ã¢ã³ãèšå®ã§æå®ããããã°ã€ã³ãšãã¹ã¯ãŒããèªåçã«è»¢éããããããéåžžã¯ãŠãŒã¶ãŒã«ã¯è¡šç€ºãããŸããã ãããçºçããªãå ŽåããŸãã¯èªèšŒäžã«ãšã©ãŒãçºçããå Žåã¯ããã¹ã¯ãããã®ä»£ããã«å¯Ÿè©±åãã°ã€ã³ ãŠã£ã³ããŠã衚瀺ãããŸãã

ã»ãã·ã§ã³ãããŒãžã£ãŒã®èªåèµ·å㯠/etc/default/xrdp ãã¡ã€ã«ã§æå®ãããèšå®ã¯ /etc/xrdp/sesman.ini ã«ä¿åãããŸãã ããã©ã«ãã§ã¯æ¬¡ã®ããã«ãªããŸãã
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false
[Sessions]ããã§ã¯äœã倿Žããå¿ èŠã¯ãããŸãããroot æš©éã§ã®ãã°ã€ã³ãç¡å¹ã«ããã ãã§ã (AllowRootLogin=false)ã ã·ã¹ãã ã§èªèšŒããããŠãŒã¶ãŒããšã«ãåå¥ã® xrdp ããã»ã¹ãèµ·åãããŸããã»ãã·ã§ã³ãçµäºããã«åæããå ŽåããŠãŒã¶ãŒ ããã»ã¹ã¯ããã©ã«ãã§å®è¡ãç¶ç¶ããã»ãã·ã§ã³ã«å床æ¥ç¶ã§ããŸãã èšå®ã¯ã/etc/xrdp/sesman.ini ãã¡ã€ã« ([Sessions] ã»ã¯ã·ã§ã³) ã§å€æŽã§ããŸãã
ããŒããŒãã¬ã€ã¢ãŠãã®åãæ¿ã
åæ¹åã®ã¯ãªããããŒãã§ã¯éåžžã¯åé¡ãããŸãããããã·ã¢èªã®ããŒããŒã ã¬ã€ã¢ãŠãã§ã¯å°ããããå¿ èŠããããŸã (ãã·ã¢èªã®ãã±ãŒã«ã¯ãã§ã«èšå®ãããŠããã¯ãã§ã) ïŒã Xrdp ãµãŒããŒã®ããŒããŒãèšå®ãç·šéããŸãããã
sudo nano /etc/xrdp/xrdp_keyboard.iniæ§æãã¡ã€ã«ã®æ«å°Ÿã«æ¬¡ã®è¡ã远å ããå¿ èŠããããŸãã
[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ruæ®ã£ãŠããã®ã¯ããã¡ã€ã«ãä¿åã㊠Xrdp ãåèµ·åããããšã ãã§ãã
sudo systemctl restart xrdpã芧ã®ãšãããLinux VPS äžã« RDP ãµãŒããŒãã»ããã¢ããããã®ã¯é£ãããããŸãããã VNC ã®ã»ããã¢ããã«ã€ããŠã¯ãã§ã«èª¬æããŸããã ãããã®ãã¯ãããžãŒã«å ããŠãå¥ã®è峿·±ããªãã·ã§ã³ããããŸããããã¯ãä¿®æ£ããã NX 3 ãããã³ã«ã䜿çšãã X2Go ã·ã¹ãã ã§ãã æ¬¡åã®åè¡ç©ã§æ±ããŸãã
åºæïŒ habr.com
