51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/bin/bash
|
||
|
||
red() {
|
||
echo -e "\033[31m\033[01m$1\033[0m"
|
||
}
|
||
|
||
green() {
|
||
echo -e "\033[32m\033[01m$1\033[0m"
|
||
}
|
||
|
||
yellow() {
|
||
echo -e "\033[33m\033[01m$1\033[0m"
|
||
}
|
||
|
||
# 检测是否为 root 用户
|
||
if [ "$(id -u)" != "0" ]; then
|
||
red "错误:您必须以 root 用户执行此脚本!请执行 sudo -i 后再运行此脚本!"
|
||
exit 1
|
||
fi
|
||
|
||
hostnamectl set-hostname localhost
|
||
|
||
# 读取用户输入的 SSH 端口,如果未输入则使用默认值 22
|
||
read -p "输入设置的SSH端口(默认22):" sshport
|
||
sshport=${sshport:-22}
|
||
|
||
# 读取用户输入的 root 密码
|
||
read -p "输入设置的root密码:" password
|
||
while [[ -z $password ]]; do
|
||
red "密码未设置,请输入设置的root密码:"
|
||
read -p "输入设置的root密码:" password
|
||
done
|
||
|
||
# 更新 root 密码
|
||
echo root:$password | chpasswd
|
||
|
||
# 更新 SSH 配置
|
||
sed -i "s/^#\?Port .*/Port $sshport/" /etc/ssh/sshd_config
|
||
sed -i "s/^#\?PermitRootLogin .*/PermitRootLogin yes/" /etc/ssh/sshd_config
|
||
sed -i "s/^#\?PasswordAuthentication .*/PasswordAuthentication yes/" /etc/ssh/sshd_config
|
||
|
||
# 重启 SSH 服务
|
||
service ssh restart 2>/dev/null
|
||
service sshd restart 2>/dev/null
|
||
|
||
# 显示结果
|
||
yellow "SSH信息设置完成"
|
||
green "用户名:root"
|
||
green "端口:$sshport"
|
||
green "密码:$password"
|
||
yellow "请记录好新密码" |