Linux crontab 脚本在 ssh 中登录到本地用户

Posted

技术标签:

【中文标题】Linux crontab 脚本在 ssh 中登录到本地用户【英文标题】:Linux crontab script log into a local user in ssh 【发布时间】:2018-04-15 06:11:03 【问题描述】:

在Linux服务器上工作时,我试图找到一种方法来执行crontab(in root)的脚本:

通过 ssh 使用命令ssh -X user@localhost 登录到本地用户 回答用户密码问题 执行命令 等待结束 退出ssh会话

我制作这个过程是因为当我手动执行此操作时它会起作用。

我不能在 root 中使用 crontab。 我尝试添加一个公钥以避免密码步骤,但我没有成功。 我必须在特定用户中执行我的命令日志。 最后,我找到了一种使用options -X 获取环境变量的方法……如果我使用命令su -l user 登录到特定用户……我的命令将不起作用。

不知道有没有说清楚,不好意思,因为我对Linux环境的了解有限,尽量用近似英文(我是法语)给大家解释一下

最好的问候

【问题讨论】:

为此使用用户的 crontab:crontab -e -u <user> 您没有包含任何代码,也没有准确描述您的脚本是如何失败的。您在这里的实际问题是什么?这个网站上有很多关于自动化 ssh 的问题。 Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。 @ipor-sircer 我将尝试使用您的命令(crontab -e -u )编辑来自 root 用户的特定用户的 crontab 我不知道这是可能的谢谢你提示。 @jww 谢谢我不知道这个网站我会在这里尝试很抱歉错过了 【参考方案1】:

对不起,我可能不够明确,我会尝试不同的

首先我的第一条信息并不太具体,因为我不知道我处理问题的方式是否是我以一般方式解释它的最佳方式

就像我说的,我必须使用 root 用户配置 crontab,但是我尝试自动执行的命令(安装在我的 Linux 服务器上的应用程序的特定命令)必须使用特定的服务器用户执行。

由于所有这些限制,我尝试开发一个 except 脚本

[代码]

!/usr/bin/expect

spawn ssh -X specific-user@localhost 期待“混蛋:” 发送“密码\r” 睡觉 10 SpecificUtility + 一些参数 期待“本地主机#” 发送“退出\r” 交互[/code]

如果我手动执行此脚本没问题,但在 crontab 中如果不遵守该顺序

我做错了,但我不知道

我希望解释得更好

最好的问候

【讨论】:

以上是关于Linux crontab 脚本在 ssh 中登录到本地用户的主要内容,如果未能解决你的问题,请参考以下文章

Crontab执行脚本中的ssh命令访问被拒绝

Linux命令行ssh远程登录携带密码的方法

Linux 无密码SCP在Crontab中失效的解决办法

linux下如何使用ssh远程登录主机 执行shell脚本?

如何使用Linux的Crontab定时执行PHP脚本的方法

Linux。。shell 脚本中经常要用到ssh。可是ssh又要交互式输密码。怎么能不交互的输密码呢?