【发布时间】:2016-08-04 17:48:45
【问题描述】:
我相信您会发现这个问题与 stackoverflow 或互联网上的许多其他帖子类似。但是,我无法准确找到解决问题的方法。我有要在远程服务器上运行的任务列表,并且传递脚本就可以了!但是不符合要求。
我正在从我的服务器运行以下连接到远程服务器;
ssh -t user@server << 'HERE'
sudo su - <diff_user>
do task as diff_user
HERE
ssh -tt user@server << 'HERE'
sudo su - <diff_user>
do task as diff_user
HERE
使用第一个选项 (-t),我仍然无法执行 sudo,如下所示;
sudo:对不起,你必须有一个 tty 才能运行 sudo
使用上面的第二个选项 (-tt),我得到了当前服务器会话的反向输入/输出,一团糟。
我尝试将内容作为脚本传递给 SSH 以在远程主机上运行,但是得到了类似的结果。
除了在下面评论之外,还有其他方法吗?
/etc/sudoers 文件中的默认要求
虽然我没有在上面尝试过,但我知道 RedHat 已批准在未来的版本中将其删除/注释掉,无论何时。如果我按照步骤进行,我将在 100 台 VM 中完成上述工作(此外,我无权编辑 VM 上的文件并试一试)。
因此,我的问题和以前一样。如果我能在这里得到专家的意见,那就太好了:)
添加信息:使用 RedHat RHEL 6、2.6.32-573.3.1 我确实可以访问远程主机,一旦我进入,我的 ID 不需要密码即可切换到 diff_user。
【问题讨论】:
标签: ssh openssh heredoc rhel6 sudoers