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