加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 将无特权的非帐户用户ssh放到另一个框中?

发布时间:2020-12-14 02:41:17 所属栏目:Linux 来源:网络整理
导读:我知道如何让用户使用密钥ssh到另一个框中: ssh -l targetuser -i path/to/key targethost 但是像apache这样的非帐户用户呢?由于该用户没有可以编写.ssh目录的主目录,因此整个过程始终失败: $sudo -u apache ssh -o StrictHostKeyChecking=no -l targetus
我知道如何让用户使用密钥ssh到另一个框中:
ssh -l targetuser -i path/to/key targethost

但是像apache这样的非帐户用户呢?由于该用户没有可以编写.ssh目录的主目录,因此整个过程始终失败:

$sudo -u apache ssh -o StrictHostKeyChecking=no -l targetuser -i path/to/key targethost
Could not create directory '/var/www/.ssh'.
Warning: Permanently added '<hostname>' (RSA) to the list of known hosts.
Permission denied (publickey).

我尝试使用-o UserKnownHostsFile = / dev / null并将$HOME设置为/ dev / null,并且这些都没有完成.我知道sudo可能会为我解决这个问题,但我正在努力避免需要手动配置服务器,因为此代码将部署在许多不同的环境中.

有任何想法吗?

以下是我尝试过的一些不起作用的例子:

$sudo -u apache export HOME=path/to/apache/writable/dir/ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=path/to/apache/writable/dir/.ssh/known_hosts -l deploy -i path/to/key targethost
$sudo -u apache ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=path/to/apache/writable/dir/.ssh/known_hosts -l deploy -i path/to/key targethost
$sudo -u apache ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -l deploy -i path/to/key targethost

最终,我将使用此解决方案作为apache用户运行rsync.

解决方法

只需创建/var/www/.ssh/并为其授予apache写权限或将apache的$HOME更改为他可以编写的目录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读