115 lines
2.9 KiB
YAML
115 lines
2.9 KiB
YAML
---
|
||
- name: 在Kali Linux上安装和配置VNC服务器
|
||
hosts: kali
|
||
become: yes
|
||
vars:
|
||
vnc_password: "3131" # VNC连接密码
|
||
vnc_port: "5901" # VNC服务端口
|
||
vnc_geometry: "1280x1024" # VNC分辨率
|
||
vnc_depth: "24" # 颜色深度
|
||
|
||
tasks:
|
||
- name: 更新APT缓存
|
||
apt:
|
||
update_cache: yes
|
||
|
||
- name: 安装VNC服务器和客户端
|
||
apt:
|
||
name:
|
||
- tigervnc-standalone-server
|
||
- tigervnc-viewer
|
||
- xfce4
|
||
- xfce4-goodies
|
||
state: present
|
||
|
||
- name: 创建VNC配置目录
|
||
file:
|
||
path: /home/ben/.vnc
|
||
state: directory
|
||
owner: ben
|
||
group: ben
|
||
mode: '0700'
|
||
|
||
- name: 设置VNC密码
|
||
shell: |
|
||
echo "{{ vnc_password }}" | vncpasswd -f > /home/ben/.vnc/passwd
|
||
echo "{{ vnc_password }}" | vncpasswd -f > /home/ben/.vnc/passwd2
|
||
become_user: ben
|
||
|
||
- name: 设置VNC密码文件权限
|
||
file:
|
||
path: /home/ben/.vnc/passwd
|
||
owner: ben
|
||
group: ben
|
||
mode: '0600'
|
||
|
||
- name: 设置VNC密码文件2权限
|
||
file:
|
||
path: /home/ben/.vnc/passwd2
|
||
owner: ben
|
||
group: ben
|
||
mode: '0600'
|
||
|
||
- name: 创建VNC启动脚本
|
||
copy:
|
||
dest: /home/ben/.vnc/xstartup
|
||
content: |
|
||
#!/bin/bash
|
||
unset SESSION_MANAGER
|
||
unset DBUS_SESSION_BUS_ADDRESS
|
||
exec startxfce4
|
||
owner: ben
|
||
group: ben
|
||
mode: '0755'
|
||
|
||
- name: 创建VNC服务文件
|
||
copy:
|
||
dest: /etc/systemd/system/vncserver@.service
|
||
content: |
|
||
[Unit]
|
||
Description=Start TigerVNC server at startup
|
||
After=syslog.target network.target
|
||
|
||
[Service]
|
||
Type=forking
|
||
User=ben
|
||
Group=ben
|
||
WorkingDirectory=/home/ben
|
||
|
||
PIDFile=/home/ben/.vnc/%H:%i.pid
|
||
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
|
||
ExecStart=/usr/bin/vncserver -depth {{ vnc_depth }} -geometry {{ vnc_geometry }} :%i
|
||
ExecStop=/usr/bin/vncserver -kill :%i
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
|
||
- name: 重新加载systemd配置
|
||
systemd:
|
||
daemon_reload: yes
|
||
|
||
- name: 启用并启动VNC服务
|
||
systemd:
|
||
name: vncserver@1.service
|
||
enabled: yes
|
||
state: started
|
||
|
||
- name: 检查VNC服务状态
|
||
command: systemctl status vncserver@1.service
|
||
register: vnc_status
|
||
ignore_errors: yes
|
||
|
||
- name: 显示VNC服务状态
|
||
debug:
|
||
msg: "{{ vnc_status.stdout_lines }}"
|
||
|
||
- name: 显示VNC连接信息
|
||
debug:
|
||
msg: |
|
||
VNC服务器已成功配置!
|
||
连接信息:
|
||
- 地址: {{ ansible_host }}
|
||
- 端口: {{ vnc_port }}
|
||
- 密码: {{ vnc_password }}
|
||
- 连接命令: vnc://{{ ansible_host }}:{{ vnc_port }}
|
||
- 使用macOS屏幕共享应用连接到上述地址 |