FreeBSD和SSH-/dev/tty:没有这样的文件或目录

FreeBSD和SSH-/dev/tty:没有这样的文件或目录,freebsd,jail,Freebsd,Jail,当我尝试从监狱内部通过SSH进行连接时,我遇到以下错误: # ssh test@test.com ... debug1: read_passphrase: can not open / dev / tty: No such file or directory Host key verification failed. 监狱外一切正常。有什么想法吗 复制步骤: # jls JID IP Address Hostname Path 1

当我尝试从监狱内部通过SSH进行连接时,我遇到以下错误:

# ssh test@test.com
...
debug1: read_passphrase: can not open / dev / tty: No such file or directory
Host key verification failed.
监狱外一切正常。有什么想法吗

复制步骤:

# jls
JID  IP Address      Hostname                      Path
1     10.10.3.1       demo.example.com             /jails/demo

# jexec 1 tcsh

(inside jail:)
# ssh test@test.com

您的根目录是否通过devfs挂载来填充/dev文件系统?现在看起来好像没有

重要提示:您应该能够使用devfs规则来限制被囚禁进程可见的设备。特别是,访问原始磁盘设备节点是一个坏主意。jail8手册页在以下段落附近对此进行了描述:

重要的是,只有devfs中适当的设备节点才能暴露于环境中;访问监狱中的磁盘设备可能允许监狱中的进程通过修改监狱外的文件绕过监狱沙箱。有关如何使用devfs规则限制对每个devfs中条目的访问的信息,请参见devfs8。监狱的简单devfs规则集作为/etc/defaults/devfs.rules中的规则集4提供

您应该能够在/jails/demo/dev下安装devfs,并通过以root用户身份运行以下命令来应用推荐的监狱设备规则:

# mkdir /jails/demo/dev
# mount -t devfs devfs /jails/demo/dev
# devfs -m /jails/demo/dev rule -s 4 applyset
当然,您也可以在/etc/defaults/devfs.rules中编写自定义规则集,甚至可以编写只适用于特定应用程序的特殊devfs规则集


有关更多详细信息,请参见jail8、devfs8和devfs.rules5的手册页。

您的jail root是否通过devfs挂载有已填充的/dev文件系统?现在看起来好像没有

重要提示:您应该能够使用devfs规则来限制被囚禁进程可见的设备。特别是,访问原始磁盘设备节点是一个坏主意。jail8手册页在以下段落附近对此进行了描述:

重要的是,只有devfs中适当的设备节点才能暴露于环境中;访问监狱中的磁盘设备可能允许监狱中的进程通过修改监狱外的文件绕过监狱沙箱。有关如何使用devfs规则限制对每个devfs中条目的访问的信息,请参见devfs8。监狱的简单devfs规则集作为/etc/defaults/devfs.rules中的规则集4提供

您应该能够在/jails/demo/dev下安装devfs,并通过以root用户身份运行以下命令来应用推荐的监狱设备规则:

# mkdir /jails/demo/dev
# mount -t devfs devfs /jails/demo/dev
# devfs -m /jails/demo/dev rule -s 4 applyset
当然,您也可以在/etc/defaults/devfs.rules中编写自定义规则集,甚至可以编写只适用于特定应用程序的特殊devfs规则集


有关更多详细信息,请参见监狱8、devfs8和devfs.rules5的手册页。

如果您通过监狱命令进入监狱,也可能会遇到这种情况。如果您启动了监狱并通过SSH进入,您的运气会更好。

如果您通过监狱命令进入监狱,您也可能会遇到这种情况。如果您启动了jail并使用SSH连接到它,您应该会有更好的运气。

devfs文件系统可能没有安装在您的jail中。很多事情都会失败,不仅仅是ssh

要自动安装经过适当过滤的devfs,最好使用rc.conf变量:

监狱启用=是

监狱名称

jail\u devfs\u enable=是

jail\u JAILNAME\u rootdir='/jails/demo'

jail\u JAILNAME\u hostname=demo


然后您可以使用/etc/rc.d/jail start demo停止/停止它,e

devfs文件系统可能没有安装在您的jail中。很多事情都会失败,不仅仅是ssh

要自动安装经过适当过滤的devfs,最好使用rc.conf变量:

监狱启用=是

监狱名称

jail\u devfs\u enable=是

jail\u JAILNAME\u rootdir='/jails/demo'

jail\u JAILNAME\u hostname=demo

然后您可以使用/etc/rc.d/jail start demo停止/停止它,e

查看相同的问题,但了解如何使其工作。查看相同的问题,但了解如何使其工作。