我需要您的帮助来解决 SSH+FreeBSD+jails 身份验证问题。
我(几乎)成功地在我的 FreeBSD 8.2 机器上建立了监禁环境。
我的 FreeBSD 主机有 2 个网络接口:192.168.1.41/24(常规网络)和 172.16.100.41/24(管理网络)。
它唯一的 jail 配置为监听 192.168.1.101 和 172.16.100.101 IP 地址。我已sshd
在 jail 中配置为仅监听管理界面(即 172.16.100.101)。
上面描述的所有方法都有效,但我无法通过主机上的 SSH 连接到监狱(root
在主机上登录)。接受公钥后,系统要求我输入密码(我相信是root
的密码),尝试 3 次后,我总是收到消息"Permission denied (publickey,keyboard-interactive)"
。监狱中记录了相同的消息/var/log/auth.log
。
以下命令均产生相同的结果:
ssh 172.16.100.101
ssh -l root 172.16.100.101
我期望监狱的root
密码与我的主机的密码相同root
,对吗?我遗漏了什么?或者我应该在哪里寻找更多提示?
感谢您的帮助!
答案1
您应该按照 Robert Novak 的建议手动复制文件,或者使用和登录监狱jexec ${jailID} /bin/tcsh
(passwd
您可以用来jls
找出监狱 ID)来确认密码设置正确。
另外,请验证PermitRootLogin yes
在/etc/ssh/sshd_config
。
编辑:编辑或复制后/etc/master.passwd
,您需要运行/usr/sbin/pwd_mkdb -p /etc/master.passwd
以告诉 FreeBSD 根据新文件重新制作二进制文件。
答案2
每个 jail 都应该有自己的密码文件。如果你将主机的 /etc/master.passwd 和 /etc/passwd 复制到 jail 中,那么密码将完全相同。否则,我认为你必须手动重置密码。