通过 SSH 远程运行脚本

2024-03-19

我需要从 100 个远程服务器收集用户信息。我们有用于身份验证的公钥/私钥基础设施,并且我已经配置了ssh-agent命令转发密钥,这意味着我可以在没有密码提示的情况下登录任何服务器(自动登录)。

现在我想在所有服务器上运行一个脚本来收集用户信息(我们在所有服务器上有多少个用户帐户)。

这是我收集用户信息的脚本。

#!/bin/bash
_l="/etc/login.defs"
_p="/etc/passwd"

## get mini UID limit ##
l=$(grep "^UID_MIN" $_l)

## get max UID limit ##
l1=$(grep "^UID_MAX" $_l)

awk -F':' -v "min=${l##UID_MIN}" -v "max=${l1##UID_MAX}" '{ if ( $3 >= min && $3 <= max  && $7 != "/sbin/nologin" ) print $0 }' "$_p"

我不知道如何使用 ssh 运行这个脚本而无需交互?


由于您需要登录远程计算机,因此“没有 ssh”没有办法做到这一点。然而,ssh接受登录后在远程计算机上执行的命令(而不是它将启动的 shell)。因此,如果您可以将脚本保存在远程计算机上,例如作为~/script.sh,您可以在不启动交互式 shell 的情况下执行它

$ ssh remote_machine ~/script.sh

一旦脚本终止,连接将自动关闭(如果您没有故意配置它)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 SSH 远程运行脚本 的相关文章

  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • 为 Linux 编译 Objective-C 应用程序(API 覆盖范围)

    我可能在这里问一些奇怪的问题 但我不确定从哪里开始 问题是我正在考虑使用 Obj C 和 Foundation 类在 Mac 上编写一个命令行工具 但存在一个非常大的风险 那就是我希望能够为不同的 Linux 发行版编译它 以便将来作为服务
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • Bash:递归复制命名文件,保留文件夹结构

    我希望 cp R src prog js images icon jpg tmp package 将在目标目录中产生对称结构 tmp package src prog js images icon jpg 但相反 这两个文件都被复制到 tm
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 静默检查 bash 脚本中是否存在 rpm

    我正在尝试使用 if 语句快速检查 rpm 是否安装在 bash 脚本中 但我想默默地做 目前 当我运行脚本并且 rpm 确实存在时 它将 rpm 的输出输出到我不想要的屏幕 if rpm qa grep glib then do some
  • docker 非 root 绑定安装权限,WITH --userns-remap

    all 尝试让绑定安装权限正常工作 我的目标是在容器中绑定安装卷 以便 a 容器不以 root 用户身份运行入口点 二 docker daemon 配置了 userns remap 这样容器 主机上没有 root c 我可以绑定挂载和读 写
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe

随机推荐

  • 导入错误? (Python 3.2)

    我有自己的名为 v systems 的模块 并且我正在尝试将该模块导入到另一个 python 文件中 该文件也保存在与保存文件 v systems 相同的目录中 我需要将其导入为import v systems as vs或者即使我尝试导入
  • 以概率打乱 JS 数组

    假设我有一个像这样的数组 const alphabet a b c d 这代表 4 名政治候选人和一次等级选择投票 其中候选人a是首选 b是第二选择等等 我想将其打乱为一堆随机顺序 但在这种情况下我想要a大概以 60 的比例最先出现 b第二
  • Android Studio - 没有可调试的应用程序

    我尝试调试 Android 应用程序的发布版本 但 Android Studio 无法附加调试器 它找不到我正在运行的应用程序的 Android 进程 在设备控制台下 只有一条消息 没有可调试的应用程序 您还应该激活 工具 gt Andro
  • CMake 中的第三方库

    我在我的项目中使用 cmake 但我在子目录 例如 lib 中有另一个库 它使用普通的 Makefile 作为构建过程的一部分 如何指示 CMake 运行 lib 中的 Makefile 解决方案是使用 execute process CO
  • 安装后将 Javacard 小程序标记为隐式可选(默认小程序)

    我正在寻找一种方法 将小程序标记为隐式可选 默认选择 小程序 然后将其上传并安装在全球平台 http www globalplatform org JCOP 2 4 2 R1 http www nxp com products identi
  • 使用 JAVA 在 S3 存储桶上放置/读取文件

    我试图将文件放在 S3 上并使用 JAVA 从 S3 存储桶读取文件 但遇到无法执行 HTTP 请求 当我尝试列出存储桶时 它工作正常 对我来说 似乎只有 listBuckets 方法在工作 而所有其他方法 如 putObject list
  • Spring Reactive xml有效负载异常java.lang.IllegalStateException:无法解析类型为“reactor.core.publisher.Mono”的参数0

    我有一个春季启动应用程序 尝试通过邮递员将 xml 有效负载发送到 Post 请求 我得到以下内容例外 java lang IllegalStateException Failed to resolve argument 0 of type
  • Marathon 上的临时任务

    在此之前 我要说的是 我是 Mesosphere 堆栈的新手 我正在尝试将现有的 Rails 应用程序部署迁移到 Mesos 到目前为止我已经成功 但目前我正在运行迁移和种子 通过 Rake 任务 我没有看到一个很好的方法来实现它因为这些任
  • Linux 操作系统:/proc/[pid]/smaps 与 /proc/[pid]/statm

    我想计算单个进程的内存使用情况 经过一些研究后 我发现了 smaps 和 statm 首先什么是smaps和statm 有什么不同 statm 有一个 RSS 字段 在 smaps 中我总结了所有 RSS 值 但对于同一过程 这些值是不同的
  • 如何在 Vim 上将 inoremap/nnoremap 设置为“命令键”?

    我想将操作分配给 Vim 中的命令键 难道就没有什么方法吗 假设你使用的是 Mac 你无法在 vim 中映射命令键当它在终端模拟器中运行时 仅在 MacVim 中GUI 如果您使用 MacVim GUI 您的映射应该使用
  • Memcache获取密钥过期时间

    使用 memcached 和 php memcached 库 有没有办法在执行操作时获取当前密钥到期时间get http www php net manual en memcache get php 使用这个例子 它显示所有服务器密钥及其过
  • 需要在 python 测试用例中模拟一些基类行为

    我的标题相当具有描述性 但就这样吧 假设我有这个设置 class BaseClass object def init self pass def base function self param Hello World print para
  • Angular 控制台仅从 main.js:1 和 polyfills.js:1 记录日志

    我正在构建一个新的角度应用程序 在我执行 console log 的任何地方 它都来自 main js 1 或 polyfills js 1 而不是来自正确的组件 我尝试将 main js 和 polyfills js 添加到开发工具设置中
  • 如何从 Excel 获取输入并使用该值在 as400 中运行宏

    今天我正在研究as400宏 我需要对3000 条记录一一运行相同的宏 Excel 工作表在 A 列中以数字格式包含 3000 多行 每次我需要运行宏时 在此之前我需要使用 Excel A 列中的值更改 AS400 宏代码 下面是 AS400
  • 显示 NLTK 中的标签概率/置信度

    我正在使用 Python NLTK 库中的 MaxEnt 分类器 对于我的数据集 我有许多可能的标签 并且正如预期的那样 MaxEnt 仅返回一个标签 我已经训练了我的数据集并获得了大约 80 的准确率 我还在未知数据项上测试了我的模型 结
  • CSS 仅在 Div 中的其他图像保持饱和的情况下降低背景图像的饱和度

    我试图降低 div 背景图像的饱和度 同时使同一 div 内的图像保持饱和 我找到了一个与我想要做的事情接近的例子 除了模糊 但尝试了它的多种变体但没有成功 在下面的代码中 desaturate 类正确应用滤镜属性并将背景图像转换为黑白图像
  • 如何将 PHP 标签与正则表达式匹配? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不太擅长正则表达式 你能给我一个匹配任何 php 标签的模式吗 is php blocks print r blocks 一个问题是 如
  • 使用 Jenkins 构建在 Docker 容器内运行的 Docker 镜像

    我正在读书本文 http container solutions com running docker in jenkins in docker 关于设置 Jenkins 在 Docker 容器内运行 以便 Jenkins 能够自行构建 D
  • WinInet如何使用sock代理

    我想使用 WinInet 访问网页 但使用ocks4 socks5 代理 这是我尝试过的 HINTERNET hOpen InternetOpenA helper USER AGENT INTERNET OPEN TYPE PROXY SO
  • 通过 SSH 远程运行脚本

    我需要从 100 个远程服务器收集用户信息 我们有用于身份验证的公钥 私钥基础设施 并且我已经配置了ssh agent命令转发密钥 这意味着我可以在没有密码提示的情况下登录任何服务器 自动登录 现在我想在所有服务器上运行一个脚本来收集用户信