填坑记录
前车已覆,后车当鉴。
(1)通过 Git 客户端 TortoiseGit 去推送本地 git 提交记录到远端 GitHub 仓库的设置步骤:
-
首先找到 TortoiseGit 所联动的 git.exe 所在的安装目录。
-
在这个安装目录下找到 ssh.exe 和 ssh-keygen.exe,并通过 ssh-keygen.exe 生成一对公私钥。
-
在 Github 网页处的设置中添加 SSH Keys(此处需要用到步骤 2 生成的公钥内容),并复制要被操作仓库的 ssh 地址(注意不是 https 的地址)。
-
在 TortoiseGit 设置中确定 “常规-git 路径” 和 “网络-ssh 路径”都是步骤 2 所查询到的路径。
-
在 TortoiseGit 设置中的 “Git-远端” 选项处,添加远端仓库(URL 填写仓库 ssh 地址、推送 URL 保持与 URL 相同、Putty 密钥添加步骤 2 生成的私钥路径)
-
操作完成,设置可参考下图。

(2)VM Linux 虚拟机重启之后网卡丢失的解决办法:
-
停止 NetworkManager 服务:
service NetworkManager stop -
删除 NetworkManager 状态文件:
rm /var/lib/NetworkManager/NetworkManager.state -
编辑 NetworkManager 配置文件,将 managed 的值由 false 改为 true:
nano /etc/NetworkManager/NetworkManager.conf -
启动 NetworkManager 服务:
service NetworkManager start
(3)Python 便携版如何使用 PyPi 功能
-
官网 下载 Python 便携包并解压。
-
下载 get-pip.py 到 python 解压根目录下。
-
打开 cmd,设置工作目录为 python 根,然后执行
python.exe get-pip.py -
等待 pip 安装完毕之后,相应的 pip 二进制也被放到 Script 目录下,此时通过
cd Script && pip install mod-name,下载安装的模块包即被放置到 Lib\site-packages 目录下。 -
或
python -m pip install mod-name,亦可实现与上述步骤相同的效果。
(4)不支持 X11 转发功能的 SSH 客户端如何使用该功能
注意:该方法是使用 Xserver 服务的通用操作办法,即便 SSH 服务端或客户端不开启或不支持 X11 转发功能,此方法依旧可以使用。【因为 Xserver 走的数据通道是另外建立起来的 TCP/6000 的连接,而不是使用 SSH 的 TCP/22 转发通道。故需要注意客户端处的防火墙。】
- 安装 X Server 服务。【VcXsrv 或 Xming 均可,推荐使用 VcXsrv】
- 执行 XLaunch 启动程序,一路下一步,但最后一步记得勾选 disable access control,否则在连接阶段可能会有问题。【启动之后需注意其监听地址,一般是 : 0.0】
- 在 Linux 终端设置环境变量
export DISPLAY=192.168.56.1:0.0。 - 执行图形化的命令进行测试。

(5)VSCode 内集成 git 功能在初次使用时需先进行初始化
git config --global user.email kqdsheng@example.com
git config --global user.name "kqdssheng"
(6)通过 Git 客户端 GitExtensions 去推送本地 git 提交记录到远端 GitHub 仓库的设置步骤:
- 在 GitExtensions 客户端“工具”-“设置”-“Plugins”-“GitHub”处,点击“生成 Github 令牌”,然后会跳转到网页创建即可。
- 将网页端生成的访问令牌代码粘贴在上面“生成 Github 令牌”处的空格即可。
- 再次 push 项目时,若弹出 helper 框则选择 manager 模式,然后可能会再次要求你输入令牌值,再次粘贴点击确定即可正常提交。
- 注:尽量不要使用 ssh 公钥认证,有坑,可能是官方历史原因,也可能是 GitExtensions 对 putty 生成的 ssh 公私钥格式兼容性不太好。
(7)Docker 代理设置的注意事项:
Docker 代理的设置完全不同于常规命令使用代理的设置方式,它主要分为:镜像拉取代理(拉取镜像时的代理)、容器代理(容器内部网络的代理)、镜像构建代理(构建镜像时需要使用的代理)。
注:常规命令使用代理主要分为两种:proxychains、环境变量
export HTTP_PROXY=*;export HTTPS_PROXY=*。常规代理之所以对于 镜像拉取 无效,是因为拉取镜像的动作是由 dockerd 服务(docker.service)进行的,而该服务的环境变量只受 systemd 所管理,因此全局环境变量对其无效。
(1)镜像拉取代理:
cat /etc/systemd/system/docker.service.d/proxy.conf
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
或配置镜像加速【注:镜像加速的缺点在于,不在白名单的镜像在拉取时不会被加速。】
cat /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.m.daocloud.io"]
}
(2)容器代理:
cat ~/.docker/config.json
{
"proxies":
{
"default":
{
"httpProxy": "http://proxy.example.com:8080",
"httpsProxy": "http://proxy.example.com:8080",
"noProxy": "localhost,127.0.0.1,.example.com"
}
}
}
(3)镜像构建代理:
docker build . \
--build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \
--build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \
--build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
-t your/image:tag
(8)关闭 VirtualBox 虚拟机与宿主机的时间同步功能
- 进入 VirtualBox 的安装目录。
- 执行
.\VBoxManage.exe list vms,获取当前已创建的虚拟机列表。 - 执行
.\VBoxManage.exe setextradata "Win10" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1关闭不想进行时间同步的宿主机。此处的宿主机是 “Win0”。 - 关闭虚拟机,再重新打开即可。
注:如果想恢复虚拟机的时间同步功能,将步骤 3 命令中的 1 改成 0 即可。
(9)执行 pip install -r request.txt 时,出现 "build wheel" 不成功的报错
出现上述问题的原因,是由于当前的 python 版本不再支持该依赖包的指定版本。因此只需将 python 包的版本号去掉或添加一个受支持的版本即可。亦或者尝试更换 python 的版本。

(10)WSL2 安装过程
- 安装前提:操作系统必须是 Windows 10-1903 及以上的版本才支持 WSL2 的安装。
- 在“程序和功能”处启用“适用于 Linux 的 Windows 子系统”功能。【命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart】 - 在“程序和功能”处启用“虚拟机平台”功能。【命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart】 - 下载 WSL2 离线安装包,并安装。
- 设置 wsl 2 为默认版本,并安装一个自己喜欢的 Linux 发行版。操作命令如下:
wsl.exe --set-default-version 2 #设置默认的 wsl 版本
wsl.exe --list --online #列出在线提供的 Linux 发行版【注:需科学上网】
wsl.exe --install Ubuntu-22.04 #安装指定的 Linux 发行版【注:需科学上网】
wsl.exe --status #查看当前默认 wsl 版本和默认的 Linux 发行版
wsl.exe --list #列出当前已安装的 Linux 发行版
wsl.exe --uninstall Ubuntu-22.04 #卸载指定的 Linux 发行版
注意:如果在安装一些依赖微软虚拟机 Hyper-V 的软件,可能会导致 WSL2 出现故障。此时可将“虚拟机平台”功能关闭重启再打开重启,这样便可以恢复正常了。
(11)在 kali 中安装那些并未对该发行版特殊照顾的软件
-
由于 kali 是基于 debain 的,因此只要软件支持 debain 那么按照在 debain 中安装的方式添加 APT 软件源即可。
-
然后需要修改软件源
deb http://test.org/package/arm64/debian $releasename openresty中的 releasename 为https://test.org/package/debian/dists/目录下的一个发行版本即可。 -
版本对应关系如下:
jessie是 Debian 8、stretch是 Debian 9、buster是 Debian 10、bullseye是 Debian 11、bookworm是 Debian 12。 -
另一个比较方便的方法是:将
/etc/os-release的内容备份然后替换为 debain 系统的/etc/os-release内容,也可达到一样的效果。在软件成功安装之后,再替换为原来的内容即可。
注意:由于 kali 和 debain 的内核版本几乎保持同步,因此,最新版的 kali 通常也就对应着最新版的 debain。具体信息可参考此表:维基百科