无主目录用户的 SSH 证书认证

无主目录用户的 SSH 证书认证

我可以通过 ssh 访问 Solaris 机器,并可以使用用户名和密码登录。我想编写一个脚本,以无人值守的方式从该机器复制文件(从 cron 执行 scp/sftp)。通常在这种情况下,我会设置无密码的证书身份验证,但问题是该机器上的我的帐户没有主目录。我没有 root 访问权限,无法更改 sshd 配置。在这种情况下,有什么方法可以设置证书身份验证吗?换句话说,有没有办法让 sshd 使用 ~/.ssh/authrorized_keys 以外的公共位置?

或者,如果上述方法不可行,是否有其他方法可以设置 scp/sftp 以无需用户输入且基于密码的身份验证的方式运行?

答案1

不,除非所讨论的 Solaris 框以一种相当奇特/奇怪的方式设置,否则您无法指定要使用的公钥。

假设我们正在谈论通常的 scp 客户端,它是 OpenSSH 的一部分,它本身不会以非交互方式接受密码。

一种解决方案可能是编写自己的 scp“客户端”。也就是说,用您喜欢的脚本语言编写一些内容,使用合适的模块/库,允许以非交互方式插入密码。

答案2

如果您无法更改 /etc/sshd/sshd_config,则不行。

相关内容