chore(ssh-pubkey): style update
[webi-installers/.git] / ssh-utils / ssh-pubkey.sh
index 9f0722911b6ee68640012814bf885f2b60aa580b..40b09faa281dedd74d47ef6d870fd0bee9ce958c 100644 (file)
@@ -1,27 +1,44 @@
 #!/bin/bash
+set -e
+set -u
 
-{
-    set -e
-    set -u
+function _ssh_pubkey() {
 
-    mkdir -p "$HOME/.ssh/"
+    if [ ! -d "$HOME/.ssh" ]; then
+        mkdir -p "$HOME/.ssh/"
+        chmod 0700 "$HOME/.ssh/"
+    fi
+
+    if [ ! -f "$HOME/.ssh/config" ]; then
+        # for the benefit of VSCode
+        touch "$HOME/.ssh/config"
+        chmod 0644 "$HOME/.ssh/config"
+    fi
+
+    if [ ! -f "$HOME/.ssh/authorized_keys" ]; then
+        touch "$HOME/.ssh/authorized_keys"
+        chmod 0600 "$HOME/.ssh/authorized_keys"
+    fi
 
     if [ ! -f "$HOME/.ssh/id_rsa" ]; then
         ssh-keygen -b 2048 -t rsa -f "$HOME/.ssh/id_rsa" -q -N ""
-        echo ""
+        echo >&2 ""
     fi
 
     if [ ! -f "$HOME/.ssh/id_rsa.pub" ]; then
         ssh-keygen -y -f "$HOME/.ssh/id_rsa" > "$HOME/.ssh/id_rsa.pub"
-        echo ""
+        echo >&2 ""
     fi
 
     # TODO use the comment (if any) for the name of the file
-    echo ""
-    echo "~/Downloads/id_rsa.$(whoami).pub":
-    echo ""
-    rm -f "$HOME/Downloads/id_rsa.$(whoami).pub":
+    echo >&2 ""
+    #shellcheck disable=SC2088
+    echo >&2 "~/Downloads/id_rsa.$(whoami).pub":
+    echo >&2 ""
+    rm -f "$HOME/Downloads/id_rsa.$(whoami).pub"
     cp -r "$HOME/.ssh/id_rsa.pub" "$HOME/Downloads/id_rsa.$(whoami).pub"
     cat "$HOME/Downloads/id_rsa.$(whoami).pub"
-    echo ""
+    echo >&2 ""
 }
+
+_ssh_pubkey