如何通过 SSH 在远程 Linux 系统上运行命令
我们有时可能需要在远程机器上运行一些命令。如果只是偶尔进行的操作,要实现这个目的,可以登录到远程系统上直接执行命令。但是每次都这么做的话,就有点烦人了。既然如此,有没有摆脱这种麻烦操作的更佳方案?
-- Magesh Maruthamuthu(作者)
我们有时可能需要在远程机器上运行一些命令。如果只是偶尔进行的操作,要实现这个目的,可以登录到远程系统上直接执行命令。但是每次都这么做的话,就有点烦人了。既然如此,有没有摆脱这种麻烦操作的更佳方案?
是的,你可以从你本地系统上执行这些操作,而不用登录到远程系统上。这有什么好处吗?毫无疑问。这会为你节省很多好时光。
这是怎么实现的?SSH 允许你无需登录到远程计算机就可以在它上面运行命令。
通用语法如下所示:
下面的例子允许用户通过 ssh 在远程 Linux 机器上运行 df 命令 。
下面的例子允许用户通过 ssh 在远程 Linux 机器上一次运行多条命令。
同时在远程 Linux 系统上运行 uptime 命令和 free 命令。
下面的例子允许用户通过 ssh 在远程 Linux 机器上运行带有 sudo 权限 的 fdisk 命令。
普通用户不允许执行系统二进制(/usr/sbin/)目录下提供的命令。用户需要 root 权限来运行它。
所以你需要 root 权限,好在 Linux 系统上运行 fdisk 命令 。which 命令返回给定命令的完整可执行路径。
下面的例子允许用户通过 ssh 在远程 Linux 机器上运行带有 sudo 权限的服务控制命令。
下面的例子允许用户通过 ssh 在使用了非标准端口的远程 Linux 机器上运行 hostnamectl 命令 。
下面的例子允许用户通过 ssh 在远程 Linux 机器上运行 top 命令 ,并将输出保存到本地系统。
或者你也可以使用以下格式在远程系统上运行多条命令:
上面命令的输出如下:
下面的例子允许用户通过 ssh 在远程 Linux 机器上运行本地 bash 脚本 remote-test.sh。
创建一个 shell 脚本并执行它。
上面命令的输出如下:
或者也可以使用管道。如果你觉得输出不太好看,再做点修改让它更优雅些。
上面脚本的输出如下:
下面的 bash 脚本允许用户同时在多个远程系统上运行多条指令。使用简单的 for 循环实现。
为了实现这个目的,你可以尝试 PSSH 命令 或 ClusterShell 命令 或 DSH 命令 。
上面脚本的输出如下:
如果你觉得每次输入密码很麻烦,我建议你视你的需求选择以下方法中的一项来解决这个问题。
如果你经常进行类似的操作,我建议你设置 免密码认证 ,因为它是标准且永久的解决方案。
如果你一个月只是执行几次这些任务,我推荐你使用 sshpass 工具。只需要使用 -p 参数选项提供你的密码即可。
当前题目:如何通过 SSH 在远程 Linux 系统上运行命令
文章地址:https://www.cdcxhl.com/news32/102032.html
成都网站建设公司_创新互联,为您提供网站策划、微信公众号、面包屑导航、网页设计公司、品牌网站建设、企业建站
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联