所以我写了一个脚本,可以更改CentOS上的SSH端口,但是由于某种原因,我遇到了此错误:
这是脚本:
#! /bin/bash
# This script changes the ssh port for logins on CentOS 5 and 6
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 2
read -r -p "Would you like to change the ssh port? [Y/N] " response
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]
then
read -p "What would you like to change the port to? (Chose between 1024-65535) " sshportconfig
if (( ("$sshportconfig" > 1024) && ("$sshportconfig" < 65535) )); then
echo "Port $sshportconfig" >> /etc/ssh/sshd_config
echo "--------------------------------------------------------------------"
echo ""
echo ""
echo "SSH port has been changed to: $sshportconfig. Written by Sincere the Minotaur."
echo ""
echo ""
echo "--------------------------------------------------------------------"
else
echo "Port chosen is incorrect."
exit 1
fi
else
sshPort=$(grep "Port" /etc/ssh/sshd_config) | head -n 1
echo "--------------------------------------------------------------------"
echo ""
echo ""
echo "SSH is still: $sshPort"
echo "Written by Sincere the Minotaur."
echo ""
echo "---------------------------------------------------------------------"
exit 1
fi
exit 0
有人可以解释错误在哪里吗?
最佳答案
如果是fi
,则第一个没有if [[ $EUID -ne 0 ]]; then
。您需要使用if
关闭每个fi
。
关于bash - 在CentOS上使用bash脚本更改SSH端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18099523/