用于启用/禁用 SSH 的 Bash 脚本

用于启用/禁用 SSH 的 Bash 脚本

我正在运行 ubuntu 14.04 LTS(无 GUI)

我希望编写一个bash执行以下操作的脚本:

  1. 检查 ssh 服务是否启用或禁用

  2. 如果启用,则禁用,如果禁用,则启用。

每次我运行这个脚本时它都应该打开/关闭SSH 服务。

答案1

这是一个小的 shell 脚本,

#!/bin/bash
if `service ssh status | grep -q running`
then
    service ssh stop
    echo "ssh stopped by user"
else
    service ssh start
    echo "ssh started by user" 
fi

另存为后script.sh,运行,(赋予其执行权限)

sudo ./script.sh

或没有执行许可

sudo bash ./script.sh

答案2

toggleSsh.sh将以下内容保存在名为“ ”的文件中

#!/bin/bash

stat=`status ssh`
echo $stat
#stat is returned like: ssh start/running, process 1602
goal=`echo $stat|cut -f2 -d" "|cut -f1 -d/`
#cut the 2nd field afetr 1st space; then cut the 1st field before "/" to get the "goal" of the ssh job.

#ignoring the status
echo $goal
if [ "$goal" == "start" ];
then
  service ssh stop
else
  service ssh start
fi

运行此脚本,因为sudo toggleSsh.sh命令service需要root权限。

您可以通过考虑 ssh 作业的状态(等待、启动、预启动、生成、启动后、运行、停止前、停止、终止或停止后)而不是仅仅考虑目标(启动/停止)来微调上述脚本。阅读以man status了解有关如何使用该status命令的更多信息。

相关内容