多媒體展廳公司seo學(xué)習(xí)論壇
步驟
- 開啟
ssh
服務(wù)并開放22
端口 - 關(guān)閉防火墻
ufw
或iptables
;或者將遠(yuǎn)程端口添加到入站與出站規(guī)則 - 安裝
xrdp
并將xrdp
用戶添加到ssl-cert
用戶組 - mstsc 遠(yuǎn)程,輸入賬號(hào)密碼
1、開啟ssh服務(wù)
1.1. 查看ssh是否已經(jīng)開啟
sudo ps -e | grep ssh
如果最后返回是sshd
,證明ssh
已經(jīng)開啟,跳到第四步
632 ? 00:00:00 sshd20915 ? 00:00:00 ssh-agent
1.2. 開啟ssh服務(wù)
如果沒有顯示,試著開啟ssh服務(wù)
sudo /etc/init.d/ssh start
如果返回的是命令未找到,證明未安裝ssh服務(wù)
Starting ssh (via systemctl): ssh.service.
1.3 安裝openssh服務(wù)
- 安裝openssh服務(wù)查看服務(wù)有沒有開啟
sudo apt-get install openssh-server
- 查看服務(wù)有沒有開啟
sudo ps -e | grep ssh
- 如果沒有就開啟,啟動(dòng)openssh服務(wù)
sudo /etc/init.d/ssh start
1.4 檢查ssh默認(rèn)開放22端口
檢查防火墻有沒有開放20端口(ssh默認(rèn)開放22端口,如果修改可看第五步)
1.41 使用 netstat 進(jìn)行查看
netstat -an | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN unix 2 [ ACC ] 流 LISTENING 242254 @/tmp/dbus-r4rAjh2Fcv unix 2 [ ACC ] 流 LISTENING 18822 /run/systemd/private unix 2 [ ACC ] 流 LISTENING 242279 /home/signway/.pcsc10/pcscd.comm unix 2 [ ] 流 已連接 42234 @/tmp/dbus-XLRsuygY unix 3 [ ] 流 已連接 234122 @/tmp/dbus-EKhrJLaYQU unix 3 [ ] 流 已連接 234227 unix 3 [ ] 流 已連接 242322 @/tmp/.X11-unix/X10 unix 3 [ ] 流 已連接 235224 @/tmp/dbus-EKhrJLaYQU unix 3 [ ] 流 已連接 179221 /run/containerd/containerd.sock unix 3 [ ] 流 已連接 242255 unix 3 [ ] 流 已連接 243227 @/tmp/dbus-LY2CUzKESO unix 3 [ ] 流 已連接 243229 unix 3 [ ] 流 已連接 241322 /run/systemd/journal/stdout unix 3 [ ] 流 已連接 242230 unix 3 [ ] 流 已連接 42253 /run/systemd/journal/stdout unix 3 [ ] 流 已連接 243922 unix 3 [ ] 流 已連接 243422 unix 3 [ ] 流 已連接 234228 unix 3 [ ] 流 已連接 35022 /run/dbus/system_bus_socket unix 3 [ ] 流 已連接 240322 @/tmp/dbus-LY2CUzKESO unix 3 [ ] 流 已連接 36922 /run/systemd/journal/stdout unix 3 [ ] 流 已連接 242232 /run/xrdp/sockdir/xrdp_chansrv_socket_10 unix 3 [ ] 流 已連接 234222 @/tmp/dbus-EKhrJLaYQU unix 3 [ ] 流 已連接 35223 /run/systemd/journal/stdout
1.4.2 使用 ufw 查看
ufw status
bash: ufw:未找到命令
1.4.3 安裝 ufw
如果查看bash: ufw:未找到命令
,需要安裝
sudo apt-get install ufw
正在讀取軟件包列表... 完成 正在分析軟件包的依賴關(guān)系樹 正在讀取狀態(tài)信息... 完成 下列【新】軟件包將被安裝:ufw 升級(jí)了 0 個(gè)軟件包,新安裝了 1 個(gè)軟件包, 要卸載 0 個(gè)軟件包,有 101 個(gè)軟件包未被升級(jí)。 需要下載 148 kB 的歸檔。 解壓縮后會(huì)消耗 849 kB 的額外空間。 獲取:1 http://mirrors.aliyun.com/ubuntu-ports focal-updates/main arm64 ufw all 0.36-6ubuntu1.1 [148 kB] 已下載 148 kB,耗時(shí) 0秒 (626 kB/s) 正在預(yù)設(shè)定軟件包 ... 正在選中未選擇的軟件包 ufw。 (正在讀取數(shù)據(jù)庫 ... 系統(tǒng)當(dāng)前共安裝有 132750 個(gè)文件和目錄。) 準(zhǔn)備解壓 .../ufw_0.36-6ubuntu1.1_all.deb ... 正在解壓 ufw (0.36-6ubuntu1.1) ... 正在設(shè)置 ufw (0.36-6ubuntu1.1) ...Creating config file /etc/ufw/before.rules with new versionCreating config file /etc/ufw/before6.rules with new versionCreating config file /etc/ufw/after.rules with new versionCreating config file /etc/ufw/after6.rules with new version Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service → /lib/systemd/system/ufw.service. 正在處理用于 systemd (245.4-4ubuntu3.22) 的觸發(fā)器 ... 正在處理用于 rsyslog (8.2001.0-1ubuntu1.3) 的觸發(fā)器 ...
1.4.4 使用 ufw 查看
ufw status
WARN: uid 是 0 但是 “/etc/default” 屬于 1000
WARN: uid 是 0 但是 “/etc” 屬于 1000
WARN: uid 是 0 但是 “/lib” 屬于 1000
WARN: uid 是 0 但是 “/usr/sbin” 屬于 1000
WARN: uid 是 0 但是 “/usr” 屬于 1000
狀態(tài):不活動(dòng)
- 狀態(tài):不活動(dòng) - 防火墻已關(guān)閉
- 狀態(tài):
1.4.5 啟用防火墻
sudo ufw enable
[sudo] signway 的密碼:
WARN: uid 是 0 但是 “/etc/default” 屬于 1000
WARN: uid 是 0 但是 “/etc” 屬于 1000
WARN: uid 是 0 但是 “/lib” 屬于 1000
WARN: uid 是 0 但是 “/usr/sbin” 屬于 1000
WARN: uid 是 0 但是 “/usr” 屬于 1000
ERROR: problem running ufw-init
iptables-restore v1.8.4 (legacy): Couldn't load match `limit':No such file or directoryError occurred at line: 63
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
iptables-restore v1.8.4 (legacy): Couldn't load match`limit':No such file or directoryError occurred at line: 8
Try `iptables-restore -h' or 'iptables-restore --help' for more information.Problem loading ipv6 (skipping)
Problem running '/etc/ufw/before.rules'
Problem running '/etc/ufw/user.rules'
ufw運(yùn)行報(bào)錯(cuò)時(shí)
一、使用 iptables 替代 ufw 的功能
在大多數(shù)情況下,最好不要同時(shí)運(yùn)行 ufw
和 iptables-restore
。這是因?yàn)?ufw
本身實(shí)際上是一個(gè)基于 iptables
的前端工具,用于簡化 iptables
的配置過程。當(dāng)你啟用 ufw 時(shí),它會(huì)自動(dòng)配置 iptables
規(guī)則。
如果你手動(dòng)使用 iptables-restore 來加載自定義的
iptables規(guī)則,而且同時(shí)又啟用了
ufw` ,可能會(huì)導(dǎo)致規(guī)則沖突和意外行為。因此,最好的做法是選擇其中一種方式來管理防火墻規(guī)則,而不是同時(shí)使用兩者。
如果你更喜歡手動(dòng)配置 iptables
規(guī)則,那么你可以停用 ufw
并直接使用 iptables
和 iptables-restore
來管理防火墻規(guī)則。反之,如果你喜歡使用 ufw
的簡單性和易用性,那就不需要直接操作 iptables
。
無論你選擇哪種方式,確保在配置防火墻規(guī)則時(shí)謹(jǐn)慎行事,并且經(jīng)常測試以確保規(guī)則按預(yù)期生效。
二、可以嘗試 - 內(nèi)核添加配置
1.4.6 使用 ufw 查看
sudo ufw status
WARN: uid 是 0 但是 “/etc/default” 屬于 1000
WARN: uid 是 0 但是 “/etc” 屬于 1000
WARN: uid 是 0 但是 “/lib” 屬于 1000
WARN: uid 是 0 但是 “/usr/sbin” 屬于 1000
WARN: uid 是 0 但是 “/usr” 屬于 1000
ERROR: 運(yùn)行時(shí)出現(xiàn)問題 ip6tables
注意:ci
1.4.7 關(guān)閉防火墻
sudo ufw disable
WARN: uid 是 0 但是 “/etc/default” 屬于 1000
WARN: uid 是 0 但是 “/etc” 屬于 1000
WARN: uid 是 0 但是 “/lib” 屬于 1000
WARN: uid 是 0 但是 “/usr/sbin” 屬于 1000
WARN: uid 是 0 但是 “/usr” 屬于 1000
防火墻在系統(tǒng)啟動(dòng)時(shí)自動(dòng)禁用
1.4.8 如果沒有的話,開放22端口
sudo ufw allow 22
WARN: uid 是 0 但是 “/etc/default” 屬于 1000 WARN: uid 是 0 但是 “/etc” 屬于 1000 WARN: uid 是 0 但是 “/lib” 屬于 1000 WARN: uid 是 0 但是 “/usr/sbin” 屬于 1000 WARN: uid 是 0 但是 “/usr” 屬于 1000 ERROR: initcaps [Errno 2] modprobe: FATAL: Module ip6_tables not found in directory /lib/modules/5.10.160 ip6tables v1.8.4 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?) Perhaps ip6tables or your kernel needs to be upgraded.
1.4.9 修改ssh端口(可跳過)
sudo vi /etc/ssh/sshd_config
1.4.10 ssh重啟
sudo service sshd restart
1.4.11 防火墻生效并開機(jī)啟動(dòng)
sudo ufw enable
2、遠(yuǎn)程 xrdp
2.1 安裝
sudo apt install xrdp
2.2 查看xrdp運(yùn)行狀態(tài)
sudo systemctl status xrdp
● xrdp.service - xrdp daemonLoaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)Active: active (running) since Tue 2023-11-14 15:24:29 CST; 19h agoDocs: man:xrdp(8)man:xrdp.ini(5)Main PID: 702 (xrdp)Tasks: 2 (limit: 4522)Memory: 22.2MCGroup: /system.slice/xrdp.service├─ 702 /usr/sbin/xrdp└─20550 /usr/sbin/xrdp11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: connecting to sesman ip> 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[INFO ] xrdp_wm_log_msg: sesman connect ok 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: sending login info to s> 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] return value from xrdp_mm_connect 0 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[INFO ] xrdp_wm_log_msg: login successful for di> 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: started connecting 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[INFO ] lib_mod_log_peer: xrdp_pid=20550 connect> 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_wm_log_msg: connected ok 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] xrdp_mm_connect_chansrv: chansrv connect> 11月 15 10:12:38 RK3588 xrdp[20550]: (20550)(548425859088)[DEBUG] Closed socket 18 (AF_INET6 ::1 port 4023>
2.3 設(shè)置xrdp開機(jī)自動(dòng)啟動(dòng)
sudo systemctl enable xrdp
Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable xrdp
2.4 將xrdp用戶添加到ssl-cert用戶組
默認(rèn)情況下,xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key,它僅僅對(duì)ssl-cert用戶組成語可讀,所以需要運(yùn)行下面的命令,將xrdp用戶添加到這個(gè)用戶組:
- 將xrdp 添加到 ssl-cert用戶組
sudo adduser xrdp ssl-cert
- 重啟xrdp
sudo systemctl restart xrdp
3. 遠(yuǎn)程過程中的問題
3.1 黑屏問題
- 使用vim打開
startwm.sh
配置文件
sudo vim /etc/xrdp/startwm.sh
命令模式
:鍵入指令i 進(jìn)入-- 插入 --
模式-- 插入 --
模式:在下圖所示位置添加如下內(nèi)容
...
unset DBUS_SESSION_BUS_ADDRESSunset XDG_RUNTIME_DIR
...
- 使用Esc指令退出
-- 插入 --
模式,進(jìn)入命令模式
。 命令模式
:鍵入指令:wq!
保存并退出
:wq!
不保存并退出
:q!