Ð
ç®æ¬¡ïŒ
ã°ã©ãã£ãã¯ç°å¢ã®ã€ã³ã¹ããŒã«
ããã§ã¯ã18.04 ã€ã®ã³ã³ãã¥ãŒãã£ã³ã° ã³ã¢ã10 ã®ã¬ãã€ãã® RAMãããã³ 10 ã®ã¬ãã€ãã®ããŒã ãã©ã€ã (HDD) ãåãã Ubuntu Server XNUMX LTS ãæèŒããä»®æ³ãã·ã³ãåãäžããŸãã 解決ããã¿ã¹ã¯ã«ãã£ãŠç°ãªããŸããã匱ãæ§æã¯ã°ã©ãã£ã«ã« ãã¹ã¯ãããã«ã¯é©ããŠããŸããã ã泚æ㧠XNUMX% å²åŒãåããã«ã¯ãããã¢ãŒã·ã§ã³ ã³ãŒã HabrahabrXNUMX ã䜿çšããããšãå¿ããªãã§ãã ããã
ãã¹ãŠã®äŸåé¢ä¿ãå«ããã¹ã¯ãããç°å¢ã®ã€ã³ã¹ããŒã«ã¯ã次ã®ã³ãã³ãã§å®è¡ããŸãã
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.sh
XFCE ãã¹ã¯ãããç°å¢ãéå§ããã«ã¯ã次ã®ãããªã¹ã¯ãªãããå¿ èŠã§ãã
#!/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 3389
RDP ãããã³ã«ã¯æå·åããµããŒãããŠããŸãããXrdp ãµãŒããŒããããªã㯠ãããã¯ãŒã¯ã«å
¬éããã®ã¯æªãèãã§ãã ã¯ã©ã€ã¢ã³ããåºå® IP ãæããªãå ŽåããµãŒããŒã¯ã»ãã¥ãªãã£ã匷åããããã« localhost ã®ã¿ããªãã¹ã³ããå¿
èŠããããŸãã SSH ãã³ãã«çµç±ã§ã¢ã¯ã»ã¹ããã®ãæåã§ããããã«ãããã¯ã©ã€ã¢ã³ã ã³ã³ãã¥ãŒã¿ããã®ãã©ãã£ãã¯ãå®å
šã«ãªãã€ã¬ã¯ããããŸãã ç§ãã¡ãåæ§ã®ã¢ãããŒãããšã£ãŠããŸã
RDPãµãŒããŒãžã®æ¥ç¶
ãã¹ã¯ãããç°å¢ã§äœæ¥ããã«ã¯ãå¥ã®éç¹æš©ãŠãŒã¶ãŒãäœæããããšããå§ãããŸãã
sudo adduser rdpuser
ãŠãŒã¶ãŒã sudo ã°ã«ãŒãã«è¿œå ããŠã管çé¢é£ã®ã¿ã¹ã¯ãå®è¡ã§ããããã«ããŸãã ãã®ãããªå¿
èŠããªãå Žåã¯ããã®æé ãã¹ãããã§ããŸãã
sudo gpasswd -a rdpuser sudo
çµã¿èŸŒã¿ã® Windows ãªã¢ãŒã ãã¹ã¯ããã ãµãŒãã¹ ã¯ã©ã€ã¢ã³ããå«ããä»»æã® RDP ã¯ã©ã€ã¢ã³ãã䜿çšããŠãµãŒããŒã«æ¥ç¶ã§ããŸãã Xrdp ãå€éšã€ã³ã¿ãŒãã§ã€ã¹ããªãã¹ã³ããŠããå Žåãè¿œå ã®ã¢ã¯ã·ã§ã³ã¯å¿ èŠãããŸããã æ¥ç¶èšå®ã§ VPS ã® IP ã¢ãã¬ã¹ããŠãŒã¶ãŒåããã¹ã¯ãŒããæå®ããã ãã§ååã§ãã æ¥ç¶åŸã次ã®ãããªãã®ã衚瀺ãããŸãã
ãã¹ã¯ãããç°å¢ã®åæã»ããã¢ãããå®äºãããšãæ¬æ Œçãªãã¹ã¯ããããåŸãããŸãã ã芧ã®ãšããããã¹ãŠã¯äœ¿çšããã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠç°ãªããŸãããå€ãã®ãªãœãŒã¹ãæ¶è²»ããŸããã
Xrdp ãµãŒããŒã localhost ã®ã¿ããªãã¹ã³ããå Žåãã¯ã©ã€ã¢ã³ã ã³ã³ãã¥ãŒã¿ãŒäžã®ãã©ãã£ãã¯ã SSH ãã³ãã«ã«ããã±ãŒãžåããå¿
èŠããããŸã (sshd ã VPS äžã§å®è¡ãããŠããå¿
èŠããããŸã)ã 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] ã»ã¯ã·ã§ã³) ã§å€æŽã§ããŸãã
ããŒããŒãã¬ã€ã¢ãŠãã®åãæ¿ã
åæ¹åã®ã¯ãªããããŒãã§ã¯éåžžã¯åé¡ãããŸãããããã·ã¢èªã®ããŒããŒã ã¬ã€ã¢ãŠãã§ã¯å°ããããå¿
èŠããããŸã (ãã·ã¢èªã®ãã±ãŒã«ã¯ãã§ã«èšå®ãããŠããã¯ãã§ã)
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 ãµãŒããŒãã»ããã¢ããããã®ã¯é£ãããããŸãããã
åºæïŒ habr.com