Kali 安装vnc

1.安装tightvnc

#apt install tightvncserver
#apt install tightvnc-java #通过浏览器java访问需要安装tightvnc-java

2.启动VNC服务
# vncserver :1  
You will require a password to access your desktops.
Password:                                                  #输入远程访问密码
Warning: password truncated to the length of 8.
Verify:                                                        #重复输入远程访问密码
Would you like to enter a view-only password (y/n)? n      #是否输入一个只能查看的密码,选择否
 
Warning: debian:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server debian:1

New 'X' desktop is debian:2

Creating default startup script /home/laopi/.vnc/xstartup
Starting applications specified in /home/laopi/.vnc/xstartup
Log file is /home/laopi/.vnc/debian:2.log

如果在Root用户下执行 vncserver :1命令,这样会让普通用户登录时候输入用户名和密码,屏幕黑了一下,然后又返回了输入用户名密码的界面,因为普通用户主目录下的.Xauthority(~/.Xauthority)文件的所属组和所有者都改成了root ,只有把这个文件改回为普通用户所有者和所属组,普通用户才能正常登录。

VNC服务运行的默认端口是 :1 ,它代表服务运行的TCP端口(5900+n = 端口号)。在此例中,它运行在 5900+1=5901 。再次执行VNC服务会创建另一个实例,并运行在下一个更高的空闲端口上,例如 :2 或说 5902。

3.VNC端口号与桌面号

VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1” ---- 端口号为5801
桌面号为“2” ---- 端口号为5802
桌面号为“3” ---- 端口号为5803

使用 -kill 开关来关闭VNC服务:

# vncserver -kill :1
4 编辑 xstartup 文件

VNC 服务读取 ~/.vnc/xstartup 文件(功能类似于 .xinitrc),定义一个桌面环境来启动。

# cp .vnc/xstartup .vnc/xstartup.backup
# vncserver -kill :1

编辑~/.vnc/xstartup内容如下,用自动生产的文件远程时候会灰屏,没有图形界面。

# vim ~/.vnc/xstartup
#unset SESSION_MANAGER  
#/etc/X11/xinit/xinitrc  
# chmod u+x ~/.vnc/xstartup
5.修改VNC访问的密码

使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,laopi用户需要修改,修改过程如下:

# vncpasswd
Password:                                             #输入密码
Verify:                                                   #确认密码
6.自启动
 # vi /etc/systemd/system/vncserver@.service
 
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=simple
User=root
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1024x768 %i

[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
# systemctl enable vncserver@:1.service     

不用更改其他的配置
[root@localhost soft]# vncserver -geometry 1920x1024 -depth 24 :1
[root@localhost soft]# vncserver -list

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:2 8490
[root@localhost soft]# ps aux | grep vnc
root 8490 3.3 1.8 247348 73908 pts/3 Sl 16:38 0:01 /usr/bin/Xvnc :2 -auth /root/.Xauthority -depth 24 -desktop localhost.localdomain:2 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1920x1024 -pn -rfbauth /root/.vnc/passwd -rfbport 5902 -rfbwait 30000
root 8500 0.0 0.0 113292 2548 pts/3 S 16:38 0:00 /bin/sh /root/.vnc/xstartup
root 9112 0.0 0.0 112824 2312 pts/3 S+ 16:38 0:00 grep --color=auto vnc
[root@localhost soft]# ss -tnalp | grep vnc
LISTEN 0 5 :5902 : users:((“Xvnc”,pid=8490,fd=9))
LISTEN 0 128 :6002 : users:((“Xvnc”,pid=8490,fd=6))
LISTEN 0 5 [::]:5902 [::]:
users:((“Xvnc”,pid=8490,fd=10))
LISTEN 0 128 [::]:6002 [::]:
users:((“Xvnc”,pid=8490,fd=5))
在这里插入图片描述

————Blueicex 2020/07/15 17:49 blueice1980@126.com

<think>我们参考了引用[2]和引用[3]的内容,用户的问题是如何在KaliLinux中配置和连接VNC。根据引用[2],我们知道VNCKaliLinux中的端口分配规则(桌面号与端口号的关系)。引用[3]提到Termux安装KaliVNC连接,但用户现在的问题是在KaliLinux中配置VNC,所以我们主要关注KaliLinux本身的配置。步骤:1.安装VNC服务器(如tightvncserver)。2.配置VNC服务器,包括设置密码和修改启动脚本以指定桌面环境。3.启动VNC服务器。4.在客户端使用VNC查看器连接。详细步骤:###1.安装VNC服务器在KaliLinux终端中执行:```bashsudoaptupdatesudoaptinstalltightvncserver```###2.配置VNC服务器首先,设置VNC密码:```bashvncpasswd```它会提示你设置密码(用于客户端连接)和可选的视图密码(view-onlypassword)。然后,我们需要配置VNC的启动脚本。首先启动一次VNC服务器(这样会生成初始配置文件)然后停止:```bashvncserver:1#启动一个桌面号为1的VNC服务器(端口5901)vncserver-kill:1#停止该服务器```现在,编辑启动脚本`~/.vnc/xstartup`(如果没有,则创建):```bashnano~/.vnc/xstartup```根据你想启动的桌面环境,写入相应的内容。例如,如果你使用Xfce桌面环境,可以这样写:```bash#!/bin/shunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESSexecstartxfce4&```如果你使用GNOME,则可能需要更复杂的配置,但通常也可以使用:```bash#!/bin/shunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESSexecgnome-session&```保存并退出后,给该文件执行权限:```bashchmod+x~/.vnc/xstartup```###3.启动VNC服务器启动一个桌面号为1的VNC服务器(对应端口5901):```bashvncserver:1-geometry1920x1080-depth24```这里`-geometry`指定分辨率,`-depth`指定颜色深度。###4.连接VNCVNC客户端(如RealVNC、TigerVNC、Remmina等)中,输入服务器的IP地址和端口号。端口号是5900+桌面号,例如桌面号1对应5901,桌面号2对应5902。因此,在客户端连接地址栏输入:`<服务器IP>:5901`###防火墙设置如果KaliLinux开启了防火墙,需要允许VNC端口的入站流量。例如,允许5901端口:```bashsudoiptables-AINPUT-ptcp--dport5901-jACCEPT```或者使用ufw(如果安装了):```bashsudoufwallow5901```###自启动(可选)如果需要VNC服务器在系统启动时自动运行,可以创建一个systemd服务文件。###引用说明我们参考了引用[2]关于VNC端口与桌面号的关系,以及引用[3]中Termux安装KaliVNC的上下文(虽然用户现在的问题不限于Termux,但配置VNC的方法是类似的)。§§相关问题§§1.如何为不同的用户配置多个VNC桌面?2.如何设置VNC服务器开机自启动?3.如何提高VNC连接的安全性?</think>在 Kali Linux 中配置和连接 VNC 服务,可以按照以下步骤操作: ### 1. 安装 VNC 服务器 首先安装必要的软件包: ```bash sudo apt update sudo apt install tightvncserver -y ``` ### 2. 配置 VNC 密码 设置访问密码(建议使用强密码): ```bash vncpasswd ``` 此命令会提示设置用户密码和只读密码(可选)。 ### 3. 配置启动脚本 编辑 VNC 启动脚本: ```bash nano ~/.vnc/xstartup ``` 添加以下内容(以 Xfce 桌面为例): ```bash #!/bin/bash unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 & ``` 保存后赋予执行权限: ```bash chmod +x ~/.vnc/xstartup ``` ### 4. 启动 VNC 服务器 启动指定桌面号的 VNC 服务: ```bash vncserver :1 -geometry 1280x720 -depth 24 ``` 参数说明: - `:1` 表示桌面号 1(对应端口 5901)[^2] - `-geometry` 设置分辨率 - `-depth` 设置颜色深度 ### 5. 防火墙设置 允许 VNC 端口通信(以桌面号 1 为例): ```bash sudo iptables -A INPUT -p tcp --dport 5901 -j ACCEPT ``` ### 6. 客户端连接 在 VNC 客户端(如 RealVNC、TigerVNC 或 Remmina)中输入: ``` <服务器IP地址>:5901 ``` 使用第 2 步设置的密码进行连接。 ### 管理 VNC 服务 - **停止服务**: ```bash vncserver -kill :1 ``` - **查看活动会话**: ```bash vncserver -list ``` ### 使用技巧 1. **多桌面配置**: 启动不同桌面号会使用不同端口: ```bash vncserver :2 # 使用端口 5902 ``` 2. **分辨率调整**: 启动时指定分辨率: ```bash vncserver :1 -geometry 1920x1080 ``` 3. **自启动服务**: 创建 systemd 服务实现开机自启(需要 root 权限)。 ### 安全建议 1. 使用 SSH 隧道加密 VNC 连接: ```bash ssh -L 5901:localhost:5901 user@kali-ip ``` 2. 定期更新 VNC 密码 3. 仅允许可信 IP 访问防火墙端口 [^1]: VNC 端口号与桌面号的对应关系为:桌面号 N 对应端口 5900+N[^2] [^2]: 防火墙配置可参考 iptables 规则设置[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值