【问题标题】:Running some commands in script as user以用户身份在脚本中运行一些命令
【发布时间】:2017-02-20 09:11:46
【问题描述】:

我正在尝试从服务器远程更改客户端上的配置文件。这是一个实验测试平台。我已经设置好服务器的rsa_pub 密钥在客户端的授权密钥文件中。

当我运行脚本(这需要以 root 身份运行)时,当我尝试更改文件时,系统会提示我输入客户端计算机的密码。如果我以用户身份运行它,那么我不是。我还尝试使用 sudo -u 开关,但似乎效果不佳。

以用户身份运行(可行):

echo 'prio 0' | ssh user@192.168.10.10 "cat > /home/user/priofile.txt"

仍然以用户身份运行,但使用-u 开关(这有效):

$ sudo -u user echo 'prio 0' | ssh user@192.168.10.10 "cat > /home/user/priofile.txt"

以root身份运行:

# sudo -u user echo 'prio 0' | ssh user@192.168.10.10 "cat > /home/user/priofile.txt"
user@192.168.10.10's password: 

为什么我尝试以用户身份运行它却提示我输入密码?

【问题讨论】:

  • 客户端文件中的授权密钥是否可能匹配user用户而不是root用户?
  • 是的!正是问题所在。谢谢!
  • @jamie 你误解了 stackoverflow 的概念。您的问题与编程无关。这也是以前在很多很多地方讨论过很多次的事情。请删除此问题并阅读:stackoverflow.com/help/how-to-ask,然后再在 stackoverflow 上发布您的下一个问题。

标签: bash sudo


【解决方案1】:

root 用户的密钥存储在/root/.ssh/ 下。需要将这些密钥复制到远程客户端以方便无密码访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多