如何在Unix或Linux Shell脚本中使用SSH

时间:2020-01-09 10:39:53  来源:igfitidea点击:

问题描述:如何在UNIX或Linux操作系统的shell脚本中使用ssh客户端程序?

解决方法:SSH客户端是用于登录到远程计算机并在远程计算机上执行命令的程序。

ssh连接并登录到指定的主机名。
用户必须根据所使用的协议版本,使用几种方法之一向远程计算机证明其身份。
如果指定了command,则在远程主机而不是登录shell上执行命令。

SSH通用语法

ssh user @ hostname命令

例如,登录到名为portal.theitroad.com的远程系统,并找出登录者,然后执行:

$ ssh [email protected] who

您可以在Shell脚本中使用相同的命令。
但是,它将提示您输入密码。
为了避免出现密码提示,您需要按照我们的文章中指定的基于ssh的ssh键登录,以减少密码登录。
接下来,您可以创建一个示例shell脚本,如下所示:

$ vi sshscript.sh

执行以下shell脚本行:

#!/bin/bash
# Linux/UNIX box with ssh key based login enabled
SERVER="192.168.1.1"
# SSH User name
USR="admin"
OUT="out.txt"
ssh $USR@$host w > $OUT

保存并关闭文件。
执行以下命令以执行脚本:

$ chmod +x sshscript.sh
$ ./sshscript.sh

您可以使用cat命令查看脚本的输出:

$ cat out.txt

在我们的shell脚本目录中查看更复杂的示例。