From 6503c607b1bd9ce5ccd11bdad06206524a89f704 Mon Sep 17 00:00:00 2001 From: SimonC Date: Thu, 22 Aug 2024 10:12:44 -0400 Subject: [PATCH] Update k3s.sh - added the variable for the ssh config file - check if the file exist - if file exist, look for the StrictHostKeyChecking value and update if needed, otherwise add the line - if file does not exist, create it, change file permissions and add the setting --- Kubernetes/K3S-Deploy/k3s.sh | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/Kubernetes/K3S-Deploy/k3s.sh b/Kubernetes/K3S-Deploy/k3s.sh index 9f3b250..a655e2b 100644 --- a/Kubernetes/K3S-Deploy/k3s.sh +++ b/Kubernetes/K3S-Deploy/k3s.sh @@ -60,6 +60,9 @@ lbrange=192.168.3.60-192.168.3.80 #ssh certificate name variable certName=id_rsa +#ssh config file +config_file=~/.ssh/config + ############################################# # DO NOT EDIT BELOW # ############################################# @@ -92,8 +95,31 @@ else echo -e " \033[32;5mKubectl already installed\033[0m" fi -# Create SSH Config file to ignore checking (don't use in production!) -sed -i '1s/^/StrictHostKeyChecking no\n/' ~/.ssh/config +# Check for SSH config file, create if needed, add/change Strict Host Key Checking (don't use in production!) + +if [ ! -f "$config_file" ]; then + # Create the file and add the line + echo "StrictHostKeyChecking no" > "$config_file" + # Set permissions to read and write only for the owner + chmod 600 "$config_file" + echo "File created and line added." +else + # Check if the line exists + if grep -q "^StrictHostKeyChecking" "$config_file"; then + # Check if the value is not "no" + if ! grep -q "^StrictHostKeyChecking no" "$config_file"; then + # Replace the existing line + sed -i 's/^StrictHostKeyChecking.*/StrictHostKeyChecking no/' "$config_file" + echo "Line updated." + else + echo "Line already set to 'no'." + fi + else + # Add the line to the end of the file + echo "StrictHostKeyChecking no" >> "$config_file" + echo "Line added." + fi +fi #add ssh keys for all nodes for node in "${all[@]}"; do