xrdp搭建Windows跳板机(修改版)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xrdp搭建Windows跳板机(修改版)相关的知识,希望对你有一定的参考价值。

参考技术A 机房内部有Windows机器,但是网络上不能直接与Windows的系统ip相通,此时需要一个跳板机来中转远程桌面。
目前已有的办法:
1、可以使用WindowsServer自带的远程桌面服务来中转管理需求,但是只有6个月的试用,需要购买。
2、通过端口映射,指定跳板机的端口,来映射不同的机器。不过增加了运维工作量,需要维护一个对应关系表,记住端口和机器的对应关系。

xrdp是一个很好的选择,基于Linux系统,只做中转工作。除了中转windows的远程桌面,还可以中转vnc和其它服务,有兴趣的可以自行学习

CentOS7.4(Infrastructure Server)

需要安装base源、epel源和nux-dextop源,这是我的配置方式,可根据自己机器的实际情况配置。
仅供参考:

在编译安装过程中依赖到的软件全部安装上。这里是我在安装过程中遇到的,并整理出来的安装包。如果你在安装过程中遇到一些依赖包,可以根据提示把需要的安装包安装上

编译时需要的一些.h文件,这里我全部拷贝过去,以防编译出错

编译安装

在做这个实验的时候,废了不少力气,各种依赖包,编译总是出错。不过要有耐心,慢慢来,还要多请教别人。当你做这个试验时并且成功了,要感谢我这篇文章的总结哈

简单跳板机的搭建笔记

摘录自  https://github.com/LaiJingli/open_bastion_host


环境:

    CentOS6.7 X86_64

    跳板机地址:192.168.2.11

    后端服务器地址:192.168.2.12

 


0、下载跳板机文件

git clone https://github.com/LaiJingli/open_bastion_host.git

 

1、创建跳板机用户

先创建tianbanji用户及tiaobanji组,只有跳板机组的用户ssh登录时才登录到非shell的跳板机程序

useradd tiaobanji

usermod -s /sbin/nologin tiaobanji   # 安全起见不允许tiaobanji用户登录系统

 

然后,通过本项目自带的add_user.sh来创建跳板机用户,脚本内容如下:

#!/bin/bash

###一键添加跳板机用户,并初始化用户,批量添加多个用户时,多个用户之间以空格分隔

###coding by [email protected] at 20151019

 

#users=""

users="devops"    # 这里是我自己修改的,这个脚本可以改成传用户名参数的脚本

user_group=tiaobanji

default_pass=‘123amdamd‘

for user in $users ; do

    echo $user;useradd $user

    echo $default_pass|passwd --stdin $user

    # chage -d 0 $user   作者强制用户登录修改密码,这里被我注释掉了,当然最好还是不要注释掉这行代码,强制用户首次登录就要修改密码。

    usermod -G $user_group $user

done

 

执行 sh add_user.sh 即可添加一个devops的账户


2、设置跳板机用户登录后直接进入跳板机程序而非shell

/etc/profile文件最后追加如下内容

id -nG|grep tiaobanji >/dev/null

user_in_tiaobanji_group=$?

if [ $user_in_tiaobanji_group = 0 ];then

     shell_script_path=/backup/devops/devops/tiaobanji/tiaobanji.sh

     log_file_name=/backup/log/$(whoami)_screen_tiaobanji_$(date+%Y%m%d%H%M%S)

     exec /usr/bin/script -q -t -c"$shell_script_path" 2>$log_file_name.date  -a  -f$log_file_name.log

fi

 

source/etc/profile


脚本的作用是,当发现用户组是tiaobanji的时候,修改他默认的shell界面,使用tiaobanji.sh来接管。


3、修改tiaobanji.sh

vi tiaobanji.sh

技术分享


修改下ssh连接的服务器地址段,作者给出的例子是192.168.100网段的,我这里用的是192.168.2.X网段的,因此需要修改下脚本里的参数配置。


4、创建相关目录

mkdir -p /backup/log

mkdir -p /backup/devops/devops/tiaobanji

mv tiaobanji.sh /backup/devops/devops/tiaobanji

chmod 777 /backup/log/ -R

 

5、尝试登录

现在我们可以使用第一步创建的devops来登录跳板机。

ssh [email protected]

登录到跳板机后,如下图所示:

技术分享


根据提示输入IP的最后一段,然后输入用户名。即可登录。(通常服务器上是采用秘钥登录,有时候还会要输入秘钥的密码)

 

6、操作回放的功能

如果没有/usr/bin/scriptreplay 这个文件的话,需要安装下 yum install  util-linux-ng

 

上一步中,我们在跳板机上通过ssh登录到192.168.2.12,随意执行几条命令,然后退出192.168.2.12

然后到跳板机的/backup/log/ 目录下。可以看到一堆 .date .log的文件。

cd/backup/log/

scriptreplay devops_screen_tiaobanji_20161023193658.date devops_screen_tiaobanji_20161023193658.log 2

格式: scriptreplay time log 回放速率(大于1快进,小于1慢放,等于1正常播放)

 


7、跳板机的安全措施

  • 修改默认ssh端口号,限制访问ssh访问的IP(只允许公司的IP访问)

  • 禁用密码登录

  • 只允许跳板机组里的用户登录到跳板机

  • 跳板机ip段与业务ip段分离

  • 建议对跳板机高可用(搞2台跳板机)


以上是关于xrdp搭建Windows跳板机(修改版)的主要内容,如果未能解决你的问题,请参考以下文章

跳板机脚本(粗糙版)

SSH穿越跳板机:一条命令跨越跳板机直接登陆远程计算机

跳板机搭建

搭建简易的跳板机

jumpserver 3.0 开源跳板机环境搭建

跳板机连接服务器的配置