通过 SSH 在远程机器上运行 Shell 脚本


摘要

如果无法远程控制计算机,很难想象会发生什么,因为远程访问计算机长期以来一直是必要的。对于基于 Linux 的机器,连接到远程机器的最佳方法是通过 SSH。SSH 客户端应用程序可用于登录到远程计算机或服务器并在该计算机上运行命令。当提供命令时,它会在远程主机或服务器上执行,而不是登录 shell。

用户经常需要处理远程系统,这要求他们登录到远程服务器,执行特定操作,然后结束该会话。ssh 客户端使之成为可能。在本教程中,我们将介绍一些用于在本地执行远程命令的 ssh 配置。

注意 - Linux 命令区分大小写。

SSH

“SSH”代表安全外壳或安全套接字外壳。连接到远程服务器时,安全外壳有助于安全性。由于使用了 ssh 命令使用的安全 ssh 协议,客户端和主机之间的数据传输以加密形式进行。它通过客户端将输入发送到主机,并接收主机发送的输出。TCP/IP 端口 22 用于其执行。

通过 SSH 运行命令

要从远程机器获取日期,让我们运行单个命令“date”。在以下示例中,我们将看到如何获取远程机器的日期,

示例

$ ssh [email protected] date

输出

Mon June 15 08:55:40 IST 2022

要获取远程机器的磁盘空间使用情况,让我们运行单个命令“df -h”。

在下面的示例中,我们将看到如何获取远程服务器的磁盘空间使用情况,

示例

$ ssh [email protected] ‘df -h’

输出

Filesystem     Size  Used   Avail   Use%   Mounted on
overlay        875G   24G    807G    3%      /
tmpfs          64M     0     64M     0%      /dev
shm            64M     0     64M     0%      /dev/shm
/dev/nvme0n1p3 875G   24G    807G    3%     /home/cg/root
tmpfs          63G     0     63G     0%     /proc/acpi
tmpfs          63G     0     63G     0%     /proc/scsi
tmpfs          63G     0     63G     0%     /sys/firmware

运行 Shell 脚本

我们还可以使用 SSH 远程运行脚本,因此远程执行不仅限于命令。我们需要做的就是为 SSH 命令提供本地脚本的绝对路径。

让我们创建一个包含以下元素的简单 shell 脚本,并将其命名为“sys-info.sh”。

#! /bash/sh
echo “Id” = “` w `
echo “Time” = “` date `
echo “Host” = “` hostnamectl `

现在,我们将使用“chmod”命令提供必要的权限,使此脚本可执行,并在远程机器上使用 ssh 命令运行 shell 脚本“sys-info.sh”。在生成的输出中,我们将获得主机名、ID 和日期,

示例

$ chmod +x sys-info.sh $ ssh [email protected] ./sys-info.sh

输出

Id = User
Time = Tue Jan 28 07:18:55 IST 2022
Host = Static hostname: Ubuntu.tutorialspoint.com
       Icon name: computer-vm
       Chassis: vm
       Machine ID: 002f47b82af248f562d52f1c98f
       Boot ID: dca9a1ba06374d7d96678f94617
       Virtualization: kvm
       Operating System: Ubuntu Linux (Core)
       CPE OS Name: cpe:/o:Ubuntu:Ubuntu:7
       Kernel: Linux 5.13.0-40-generic.x86_64
       Architecture: x86_64

结论

在本教程中,我们学习了如何使用 SSH 在远程机器上执行脚本。我们探讨了一些实际示例。使用 SSH 安全访问远程机器。首先,我们了解了如何通过运行使用 SSH 的单个命令(如日期和磁盘空间使用情况)来连接到远程机器。

稍后,我们创建了一个 shell 脚本,并使用 SSH 在远程机器上运行了该脚本。这些是在使用 SSH 访问远程机器时最实用的 Linux 命令及其示例。

希望您发现这些命令示例有用。

更新于: 2022-12-19

7K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告