Ubuntu 20.04 LTS环境下Chrome无法生成SSL KEY日志文件导致Wireshark无法解密HTTPS流量
Ubuntu 20.04下SSLKEYLOGFILE为空的排查与解决方案
我之前在Ubuntu 20.04上折腾Wireshark解密HTTPS时,也碰到过一模一样的.log空文件问题,踩了好几个坑,给你梳理几个针对性的排查方向,应该能解决:
1. 先确认环境变量的生效范围——90%的问题出在这!
如果你只是在终端里临时敲export SSLKEYLOGFILE=~/.ssl-key.log,然后从图形界面启动器点开Chrome,这个变量根本不会生效!Chrome只会继承启动它的进程的环境变量。
正确的全局配置方法:
- 打开用户配置文件:
nano ~/.profile - 在文件末尾加一行:
export SSLKEYLOGFILE="$HOME/.ssl-key.log" - 保存退出后,执行
source ~/.profile让配置立即生效,或者注销再重新登录 - 之后不管是从终端还是图形界面启动Chrome,都会读取这个变量
2. 验证Chrome是否真的读取了环境变量
用这个命令检查Chrome进程的环境参数:
ps aux | grep chrome | grep SSLKEYLOGFILE
如果输出里能看到你设置的路径,说明变量生效了;如果没看到,回到第一步重新检查.profile的配置,或者试试把变量加到~/.bashrc里(对终端启动的Chrome生效),再结合.profile覆盖图形界面的场景。
3. 检查日志文件的权限
有时候空文件本身的权限会让Chrome无法写入:
- 先删掉空文件:
rm ~/.ssl-key.log - 手动创建并设置安全权限:
touch ~/.ssl-key.log && chmod 600 ~/.ssl-key.log
600权限确保只有你自己能读写,符合Chrome的安全策略,避免它因为权限问题拒绝写入。
4. 排查Chrome的隐私设置或版本问题
- 打开
chrome://version/确认版本,太旧的稳定版可能存在兼容性问题,建议更新到最新版。 - 试试无痕模式访问HTTPS站点,如果无痕模式下能生成日志,说明你常规模式里的插件(比如隐私类插件)或者严格隐私设置(比如隐私沙箱)阻止了密钥日志生成,逐个排查插件或调整设置即可。
5. 用Firefox交叉验证,定位问题范围
如果Chrome一直不行,换Firefox测试:
- 输入
about:config,搜索sslkeylogfile,设置值为~/.ssl-key.log - 重启Firefox访问HTTPS站点,查看.log文件是否有内容
- 如果Firefox能生成,问题肯定在Chrome的配置上;
- 如果Firefox也不行,那可能是系统层面的限制,比如AppArmor(Ubuntu默认的安全模块)阻止了写入。可以用
sudo aa-status | grep chrome查看是否有拒绝记录,必要时调整AppArmor的配置文件。
按照上面的步骤排查后,应该就能让.log文件正常生成,之后导入Wireshark就能顺利解密HTTPS流量了。
内容的提问来源于stack exchange,提问作者Hossein Fallah
相关产品推荐
相关产品推荐

