使用 nobody 用户进行 SSH 连接

使用 nobody 用户进行 SSH 连接

我在 FreeBSD 上。本质上,我试图让一个 php 脚本(由 apache 运行)通过 ssh 连接到另一台机器。我遇到的问题是没有人没有 .ssh 配置文件,因此我收到错误:

无法创建目录“/nonexistent/.ssh”。主机密钥验证失败。

有办法解决这个问题吗?如果您可以在没有 root 权限的情况下执行此操作,则可以获得加分,这样我就不需要向我的网络托管公司支付费用来执行此操作。

谢谢。

答案1

尝试ssh从以下选项开始:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ...

这样,ssh就不会尝试加载和创建文件.ssh/known_hosts

答案2

用户背后的整个想法nobody是,他几乎没有主机上的权限。没有人不属于任何组。没有人没有主目录。

如果没有 homedir,homedir 中就没有 .ssh 目录。所以这行不通就像没人一样

也许您可以在其他用户下运行该过程?(尽管这需要创建另一个用户,而这需要 root 访问权限。您说这是不可取的。

答案3

如果为用户分配一个 shell,结果会怎样?在我的系统上,没有人被分配 /sbin/nologin 作为 shell。如果将其更改为 /bin/bash,结果会怎样?

当没有主文件夹时,我曾多次通过 SSH 进入系统,它会为您创建它,您只需要一个 shell。

相关内容