CloudServer

云服务器环境配置

腾讯云服务器地址:81.69.227.204

Tricks

  • curl ifconfig.me 可以查看服务器的公网IP;ifconfig 看到的网络信息不包括公网信息。

Solutions

Docker、Node起服务器

使用腾讯云服务器,系统为CentOS7.6

b01lersCTF 中Web题的XSS需求,现需要在服务器上用Docker和Node搭建网页,供反射XSS使用。

SSH配置

题目源码及DockerFile都在本地,首先需要解决服务器连接问题与文件传输问题

参考:Linux服务器间四种文件传输方式SSH config使用教程和总结为CentOS安装Docker

考虑使用SSH与SCP(这俩是共享配置的)来实现本地shell连接至服务器并传输文件。先在腾讯云上生成一对公私钥,将公钥与服务器绑定,私钥文件下载下来保存。需要注意的是该公私钥服务的用户是root用户,而非云服务器当前的用户。

公私钥认证逻辑:客户端带着私钥访问服务端,服务端将本地的公钥与客户端携带的私钥进行匹配,若匹配成功则说明公私钥是一对的,身份认证完毕。

root用户的公钥文件存放在 /root/.ssh/authorized_keys 文件中,普通用户的公钥文件存放在 /home/username/.ssh/ 文件夹下。该文件夹不会默认创建,可以自己创建文件夹,并新建config文件。

拥有了私钥文件"privateKey"后,可以使用命令:ssh -i keyPath username@ip -p port 通过指定端口 port ,以用户 username 的身份登录到地址为 ip 的服务器上,keypath 指定密钥文件的绝对路径。需要注意的是,所有的公私钥文件都要严格控制权限,最低要求是 other 用户不能有任何权限;一般控制其权限为只读:

chmod 600 keys

此时使用SSH还需要选中私钥文件路径,非常麻烦,配置SSH的config文件可以让SSH用起来更方便。在客户端"/home/username/.ssh"文件夹下新建"config"文件,添加内容:

Host *
        ServerAliveInterval 60
Host cloud
        HostName 81.69.227.204
        User root
        IdentityFile ~/.ssh/23_3_18_laptop.pem
        Port 24354

# 添加注释;Host 指定SSH服务,后面跟名称,它代表着一系列配置;Hostname 指定目标服务器的IP;User 指定登录服务器的用户,这两个参数相当于 root@81.69.227.204IdentityFile 指定私钥文件路径;Port 指定连接端口,SSH默认使用22端口,该端口容易被扫描,建议修改为其他端口,并开放服务器对应端口的防火墙。

编写好配置文件后,可以用 SSH cloud 来快速进行SSH连接,它会自动读取对应的配置并连接到目标服务器。改配置同样适用于SCP,通过命令 scp ./XssSrc cloud:/tmp/tmpWWW/ 将本地XSS所需的源码传送到服务器上的 tmpWWW 文件夹下。选择 /tmp 文件夹是因为该文件夹所有用户都有充足的权限进行读写操作,不会出现权限问题。cloud 代替了原本的 user@ip -p port 的CLI参数。

至此SSH配置完毕,源码文件成功传送至服务器。


SSH的总配置文件存放在 /etc/ssh/ 下,SSH服务sshd的配置文件是 sshd_config,如下设置:

PubkeyAuthentication yes	# 开启公钥验证
Port 24354	# 连接端口
ListenAddress 0.0.0.0
PermitRootLogin yes		# 允许登录root用户
PasswordAuthentication no	# 关闭密码验证

默认允许登录root用户,关闭密码验证时默认使用公钥验证,默认设置连接端口为22

启动服务器

有了所需的源码文件,就可以搭建服务器了。首先为CentOS安装Docker,直接用一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

然后 service start docker 启动docker。进入Docker File所在文件夹,用 docker build -t motd . 构建镜像,随后 docker run -p 23333:5000 motd 运行。源码中设置服务器挂载到(容器的)5000端口上,而Docker命令中要想成功挂载该容器也必须指定容器端口为5000,否则该网页将被拒绝访问,因为端口设置冲突了。Node设置服务器起在 0.0.0.0:5000 ,这个IP代表"本机所有ip地址",因此服务器被挂载后,外部直接访问服务器公网IP及对应端口即可访问到该网页,且该网页设置为HTTP协议,因此访问时需要:http://81.69.227.204:23333

posted @   Festu  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示