【问题标题】:push public key on multiple server using root account but under different user使用 root 帐户但在不同用户下在多个服务器上推送公钥
【发布时间】:2013-02-14 07:59:21
【问题描述】:

我正在尝试使用 root 帐户在一大堆服务器上推送一些公钥,但我想将这些新密钥放在“postgres”用户下。

我正在这样做:

$ cat new_dba_keys.pub | ssh -l root 10.224.1.16 "su - postgres |cat >> ~/.ssh/authorized_keys"
-bash: line 2: ssh-rsa: command not found
-bash: line 4: ssh-rsa: command not found

如你所见,它不起作用。

【问题讨论】:

    标签: bash public-key


    【解决方案1】:

    您可以使用su - postgres -c "cat ..." 代替su - postgres | cat ...,并将文本放在postgre 的目录中:

    cat new_dba_keys.pub | ssh -l root 10.224.1.16 "su - postgres -c \"cat >> ~/.ssh/authorized_keys\""
    

    【讨论】:

    • 没有。那行不通。 -bash: |cat: 没有这样的文件或目录
    • 事实上,您从第 2 行和第 4 行收到错误消息-bash: line 2: ssh-rsa: command not found,而文件 .pub 应该只有一行。您是否检查过文件是否有额外内容?
    • 文件很好,我已经修好了。实际上,他们被推到了 /root/.ssh/authorized_keys 下 :( (我希望他们在 postgres 用户下
    • 已编辑。您可以使用su - postgres -c "cat ..." 代替su - postgres | cat ...,并将文本放在postgre 的目录中。
    • 哈哈,这是一个团队合作!我编辑了第一个答案,所以它只是看起来不错的答案。
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    相关资源
    最近更新 更多