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

bash – 在远程Linux主机上执行本地脚本

发布时间:2020-12-15 22:50:36 所属栏目:安全 来源:网络整理
导读:我有一个本地脚本,在远程主机上没有root privs时无法运行.我编辑并允许sudoers文件从home目录(/ home / username / script)运行脚本.该脚本使用结果创建一个txt文件,但我将输出重定向到终端并将输出传递给本地计算机上的文本文件. 我不能“ssh user @ hostna
我有一个本地脚本,在远程主机上没有root privs时无法运行.我编辑并允许sudoers文件从home目录(/ home / username / script)运行脚本.该脚本使用结果创建一个txt文件,但我将输出重定向到终端并将输出传递给本地计算机上的文本文件.

我不能“ssh user @ hostname sudo -Sv< script.sh> results.txt”因为这不会从远程主机运行脚本,特别是home目录.

有没有人知道将脚本复制到远程主机的方法(一行)&在检索输出时以root身份执行它?

谢谢你的帮助

解决方法

使用scp复制脚本,然后运行它.

scp script.sh user@hostname:
ssh user@hostname sudo ./script.sh > results.txt

要在一行中完成:

ssh user@hostname 'cat > script.sh; chmod 755 script.sh; sudo ./script.sh' < script.sh > results.txt

但是,如果您需要在sudo中输入密码,这将不起作用.所有ssh的stdin都将被放入脚本中.使用Expect可能有办法做到这一点,但我没有太多的专业知识.

(编辑:李大同)

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

    推荐文章
      热点阅读