ssh -l targetuser -i path/to/key targethost
但是像apache这样的非帐户用户呢?由于该用户没有可以编写.ssh目录的主目录,因此整个过程始终失败:
$sudo -u apache ssh -o StrictHostKeyChecking=no -l targetuser -i path/to/key targethostCould 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更改为他可以编写的目录. 总结以上是内存溢出为你收集整理的linux – 将无特权的非帐户用户ssh放到另一个框中?全部内容,希望文章能够帮你解决linux – 将无特权的非帐户用户ssh放到另一个框中?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)