gpt4 book ai didi

bash - 通过 ssh 运行交互式 Bash 命令

转载 作者:行者123 更新时间:2023-12-02 13:58:23 24 4
gpt4 key购买 nike

我正在尝试使用 Chef 自动化我的服务器配置过程。由于我不想以 root 身份运行 chef,我需要一个 chef/deployer 用户。但我不想手动创建这个用户。相反,我想自动化这一步。所以我尝试编写脚本,但遇到了一个问题:

问题是如果我跑

>ssh root@123.345.345.567 '/bin/bash -e' < ./add_user.sh

其中 add_user 包含
//..if the username doesnt exist already
adduser $USERNAME --gecos ''

我从来没有看到命令的输出或提示。
  • 有没有办法以这种方式运行交互式命令?
  • 有没有更好的方法以自动方式添加用户?
  • 最佳答案

    试试这个:

    ssh -t root@<ipaddress> adduser $USERNAME --gecos

    不知道为什么你有一个 $在原始示例中的 IP 地址中 - 这可能会导致 ssh无法连接,但是由于您没有指出那种失败,我假设这只是一个错字。

    由于 add_user.sh只是一个简单的命令,不需要显式运行 bash 的额外复杂性或重定向,只需运行 adduser通过 ssh 命令.

    最后,由于 $USERNAME很可能在本地端定义,而不是在远程端,即使你可以让你的原始命令“按照你说的做”,你最终会运行 adduser --gecos在远端,这不是你想要的。

    关于bash - 通过 ssh 运行交互式 Bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13202912/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com