我正在尝试使用自定义sshd_config
文件连接到我的 SSH 服务器。但是当我尝试连接时,它出现以下错误:
./bash:没有那个文件或目录
我将 bash 复制到了它们的目录中,包括/bin
、/lib64
和/lib
。
这些是我添加到 sshd_config 中的行:
Match User cooluser
ChrootDirectory /home/cooluser
/home/cooluser 目录也存在。
答案1
您选择为登录的用户设置 chroot jail。这意味着您为该用户提供了他自己的私有根目录,与系统根目录不同。因此,您必须为该 chroot 环境设置交互式 shell。除其他事项外,这还涉及拥有一个/home/cooluser/bin
目录。在该配置下登录时,该目录被视为,bin
因为/home/cooluser
已使用/
您的chrootDirectory /home/cooluser
语句将其设置为。
您可能想要寻找一个更简单的解决方案,或者阅读更多有关您现在所采用的方法的信息。
答案2
如果您打算更改目录,则应该是cd ./bash
。否则,它只会说明目录是否存在(bash
如果存在,则执行名为 的可执行文件)。此外,./
的部分./bash
意味着您正在查看bash
工作目录中的文件夹。如果您想要来自 home 的路径,请使用~/bash
。
为什么要将 bash 复制到/bin
其他版本?我假设 bash 已预安装在基于 Ubuntu 的发行版上。它是终端中的默认版本。
我还不熟悉 SSH,所以我无法帮助进行 SSH 配置。