首页 > 解决方案 > 当命令有更改用户的命令时如何获取ssh的输出

问题描述

当我使用 ssh 在远程机器上运行命令时,我会从 shell 获取输出。但是,如果我添加

sudo su - user2

我不会得到任何输出。现在,我做不到

ssh user2@host

因为一些权限问题。

有没有办法获得以下命令的输出?

ssh user1@host 'sudo su - user2; wc -l tmp.txt'

感谢@laenkeio。使用 sudo -u user2 可以运行一些简单的程序。

但是,当我需要为 user2 调用需要一些环境变量的 python 脚本时,该脚本无法使用sudo -u user2.

标签: shellssh

解决方案


如果您因某些权限问题而无法运行,则出于同样的原因ssh user2@host您将无法运行…… 而且,即使没有权限问题,执行时也会要求您输入密码……ssh user1@host 'sudo su - user2; ...
su - user


推荐阅读