非特权模式容器 ssh 登录问题
一、问题描述
使用 podman 运行一个以 systemd 模式启动的容器,并且没有赋予 privileged 权限。sshd 正常启动,sshd_config 正常设置,但是使用 ssh 远程登录时出现:
(非 root 用户也是如此)
二、查看原因
查看 /var/log/secure 文件,发现文件内容为空
使用 journalctl -u sshd 命令查看错误日志如下:
分析错误原因:
- 权限不足,无法将 uid 写入 /proc/self/loginuid 文件中
- sshd 进程无法与 system 总线通信
三、解决
最佳方案:给予容器更多的权限
1 | - AUDIT_WRITE |
方案二:删除这些报错相关的 pam
/etc/pam.d/sshd
1 | #session required pam_loginuid.so |
/etc/pam.d/system-auth 和 /etc/pam.d/password-auth
1 | #-session optional pam_systemd.so |
方案三:以特权模式运行容器
1 | --privileged |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 披萨盒的赛博日志!
评论