docker pull chanhyeok/sshd_ubuntu20.04
root@fv-az844-904:/tmp# docker images |grep sshd_ubuntu20.04
chanhyeok/sshd_ubuntu20.04 latest b5f181a7000b 5 months ago 281MB
root@fv-az844-904:/tmp# docker inspect -f {{.Config.Entrypoint}} b5f181a7000b
[]
root@fv-az844-904:/tmp#
启动docker镜像:
docker run -it --name ssh2004 -p 0.0.0.0:2233:22 -p 53389:3389 -v /sbin/busybox:/bin/busybox -v /sbin/busybox:/bin/netstat b5f181a7000b;
在容器内执行命令:
root@857a784f9dd9:/# grep NA /etc/os-release
NAME="Ubuntu"
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
root@857a784f9dd9:/# uname -a
Linux 857a784f9dd9 5.15.0-1031-azure #38~20.04.1-Ubuntu SMP Mon Jan 9 18:23:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
root@857a784f9dd9:/#
给容器安装deb包:
export LANG=en_US.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update; \
apt install -y xorg dbus-x11 x11-xserver-utils xterm xinit xorgxrdp ; \
which X && apt install -y xrdp ;
最后有一句:saving to /etc/xrdp/rsakeys.ini,阿里云的镜像貌似没有
启动xrdp:
which xrdp xrdp-sesman xrdp-sessman;
setsid /usr/sbin/xrdp-sesman --nodaemon ;
setsid /usr/sbin/xrdp --nodaemon ;
root@857a784f9dd9:/# which xrdp xrdp-sesman xrdp-sessman;
/usr/sbin/xrdp
/usr/sbin/xrdp-sesman
root@857a784f9dd9:/# setsid /usr/sbin/xrdp-sesman --nodaemon ;
root@857a784f9dd9:/# setsid /usr/sbin/xrdp --nodaemon ;starting sesman in foreground...
Global configuration:
ListenAddress: 127.0.0.1
ListenPort: 3350
EnableUserWindowManager: 1
UserWindowManager: startwm.sh
DefaultWindowManager: /etc/xrdp/startwm.sh
ReconnectScript: /etc/xrdp/reconnectwm.sh
AuthFilePath: disabled
Session configuration:
MaxSessions: 50
X11DisplayOffset: 10
KillDisconnected: 0
IdleTimeLimit: 0
DisconnectedTimeLimit: 0
Policy: 0
Security configuration:
AllowRootLogin: 1
MaxLoginRetry: 4
AlwaysGroupCheck: 0
RestrictOutboundClipboard: 0
TSUsersGroup: (not defined)
TSAdminsGroup: (not defined)
Xorg parameters:
Parameter 00 /usr/lib/xorg/Xorg
Parameter 01 -config
Parameter 02 xrdp/xorg.conf
Parameter 03 -noreset
Parameter 04 -nolisten
Parameter 05 tcp
Parameter 06 -logfile
Parameter 07 .xorgxrdp.%s.log
Xvnc parameters:
Parameter 00 Xvnc
Parameter 01 -bs
Parameter 02 -nolisten
Parameter 03 tcp
Parameter 04 -localhost
Parameter 05 -dpi
Parameter 06 96
SessionVariables parameters:
Parameter 00 PULSE_SCRIPT=/etc/xrdp/pulse/default.pa
xrdp-sesman[2631]: (2631)(139973929264704)[DEBUG] libscp initialized
[20230218-17:44:24] [DEBUG] libscp initialized
xrdp-sesman[2631]: (2631)(139973929264704)[INFO ] starting xrdp-sesman with pid 2631
[20230218-17:44:24] [INFO ] starting xrdp-sesman with pid 2631
xrdp-sesman[2631]: (2631)(139973929264704)[INFO ] listening to port 3350 on 127.0.0.1
[20230218-17:44:24] [INFO ] listening to port 3350 on 127.0.0.1
root@857a784f9dd9:/# xrdp[2633]: (2633)(140450042058560)[INFO ] starting xrdp with pid 2633
[20230218-17:44:26] [INFO ] starting xrdp with pid 2633
xrdp[2633]: (2633)(140450042058560)[INFO ] address [0.0.0.0] port [3389] mode 1
[20230218-17:44:26] [INFO ] address [0.0.0.0] port [3389] mode 1
xrdp[2633]: (2633)(140450042058560)[INFO ] listening to port 3389 on 0.0.0.0
[20230218-17:44:26] [INFO ] listening to port 3389 on 0.0.0.0
xrdp[2633]: (2633)(140450042058560)[INFO ] xrdp_listen_pp done
[20230218-17:44:26] [INFO ] xrdp_listen_pp done
root@857a784f9dd9:/#
修改root用户密码:
echo root:123456|chpasswd;
使用SSH客户端的本地转发远程服务器的53389端口:
ssh -o StrictHostKeyChecking=no -CNf -L 53389:127.0.0.1:53389 root@vps_ip -p port_number
使用win10x64的远程桌面连接(下图选择Xorg):
如果密码正确输入后,远程桌面突然退出,可能需要如下代码:
echo xterm>>~/.xsession;
chmod 777 ~/.xsession;
备注:
报以下错误,不影响使用
rdpLoadLayout: keylayout 0x00000804 variant display 10
fuse: device not found, try 'modprobe fuse' first
[1672748244]: FUSE xfuse_init_lib: 790 : ERROR: fuse_mount() failed
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat on
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat on
xrdp-chansrv [1672748246]: xcommon_init: connected to display ok
fuse: device not found, try 'modprobe fuse' first
[1672748247]: FUSE xfuse_init_lib: 790 : ERROR: fuse_mount() failed
xrdp-chansrv [1672748247]: sound_init:
fuse: device not found, try 'modprobe fuse' first
[1672748247]: FUSE xfuse_init_lib: 790 : ERROR: fuse_mount() failed
xrdp-chansrv [1672748247]: audin_init:
rdpInDeferredRepeatCallback:
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat off