ssh-server-check script
This commit is contained in:
31
scripts/ssh-server-check.sh
Executable file
31
scripts/ssh-server-check.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
ssh_config_val() {
|
||||||
|
local field="$1"
|
||||||
|
local val
|
||||||
|
|
||||||
|
if [[ -z "$field" ]]; then
|
||||||
|
echo "usage: ssh_config_val <config name>" >&2
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $(sshd -T | grep -i "^$field " | head -1 | awk '{print $2}')
|
||||||
|
}
|
||||||
|
|
||||||
|
check_ssh_files() {
|
||||||
|
printf "%-6s %-20s %-6s %s\n" "STATUS" "KEY" "PERMS" "PATH"
|
||||||
|
for key in hostkey hostcertificate trustedusercakeys; do
|
||||||
|
path=$(ssh_config_val "$key")
|
||||||
|
if [[ -z "$path" ]]; then
|
||||||
|
printf "%-7s %-20s %-6s %s\n" "⚠️" "$key" "-" "(not configured)"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -e "$path" ]]; then
|
||||||
|
perms=$(stat -c '%a' "$path")
|
||||||
|
printf "%-7s %-20s %-6s %s\n" "✅" "$key" "$perms" "$path"
|
||||||
|
else
|
||||||
|
printf "%-7s %-20s %-6s %s\n" "❌" "$key" "-" "$path (missing)"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user