shell bash登录脚本不交互

ca1c2owp  于 2023-06-24  发布在  Shell
关注(0)|答案(1)|浏览(104)

我正在尝试在bash中创建一个登录脚本。我没有安装“期望”。我的要求是,首先我需要运行sudo -i,并从该根,登录到remover服务器作为user 1 @remote-server_IP。我已经设置了无密码的SSH连接。我尽力了

sudo -i <<EOF
      ssh -i /path/to/pri.key user1@ip
      EOF

但这无法运行任何命令。我得到远程服务器提示符。但如果我运行任何命令,它永远不会返回,如果我“Ctrl-C”,它从远程机器注销。有什么帮助吗?

k2fxgqgv

k2fxgqgv1#

您需要在user1@ip后面用双引号键入命令
比如说,

sudo -i <<EOF
 ssh -i /path/to/pri.key user1@ip "command_to_run"
 EOF

我用cat /etc/motd测试了这个
像这样

[myuser@myserver ~]$ sudo -i <<EOF
 > ssh -i ~/.ssh/id_rsa newuser@newserver "cat /etc/motd"
 > EOF
 ----------------------------------
 This system is managed by Ansible.

 OS        : CentOS 7.9.2009
 Kernel    : 3.10.0-1160.80.1.el7.x86_64
 Hostname  : newserver
 IP Address: new ip
 [myuser@myserver ~]$

相关问题